diff --git a/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..919434a
--- /dev/null
+++ b/.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+
+
+
+
+
diff --git a/.swiftpm/xcode/package.xcworkspace/xcuserdata/akash.more.xcuserdatad/UserInterfaceState.xcuserstate b/.swiftpm/xcode/package.xcworkspace/xcuserdata/akash.more.xcuserdatad/UserInterfaceState.xcuserstate
new file mode 100644
index 0000000..7d83889
Binary files /dev/null and b/.swiftpm/xcode/package.xcworkspace/xcuserdata/akash.more.xcuserdatad/UserInterfaceState.xcuserstate differ
diff --git a/.swiftpm/xcode/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist b/.swiftpm/xcode/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..ac033af
--- /dev/null
+++ b/.swiftpm/xcode/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,32 @@
+
+
+
+
+ SchemeUserState
+
+ SSPlaceHolderTableView.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+ SuppressBuildableAutocreation
+
+ SSPlaceHolderTableView
+
+ primary
+
+
+ SSPlaceHolderTableViewTests
+
+ primary
+
+
+ SSPlaceHolderTableView_SSPlaceHolderTableView
+
+ primary
+
+
+
+
+
diff --git a/Package.swift b/Package.swift
new file mode 100644
index 0000000..818310b
--- /dev/null
+++ b/Package.swift
@@ -0,0 +1,27 @@
+// swift-tools-version: 5.6
+// The swift-tools-version declares the minimum version of Swift required to build this package.
+
+import PackageDescription
+
+let package = Package(
+ name: "SSPlaceHolderTableView",
+ platforms: [.iOS(.v13)],
+ products: [
+ // Products define the executables and libraries a package produces, and make them visible to other packages.
+ .library(
+ name: "SSPlaceHolderTableView",
+ targets: ["SSPlaceHolderTableView"]),
+ ],
+ dependencies: [
+ // Dependencies declare other packages that this package depends on.
+ // .package(url: /* package url */, from: "1.0.0"),
+ ],
+ targets: [
+ // Targets are the basic building blocks of a package. A target can define a module or a test suite.
+ // Targets can depend on other targets in this package, and on products in packages this package depends on.
+ .target(
+ name: "SSPlaceHolderTableView",
+ dependencies: [],
+ resources: [.process("Resources/Assets.xcassets")])
+ ]
+)
diff --git a/Pods/Pods.xcodeproj/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist b/Pods/Pods.xcodeproj/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist
new file mode 100644
index 0000000..be21f9f
--- /dev/null
+++ b/Pods/Pods.xcodeproj/xcuserdata/akash.more.xcuserdatad/xcschemes/xcschememanagement.plist
@@ -0,0 +1,14 @@
+
+
+
+
+ SchemeUserState
+
+ Pods-SSPlaceHolderTableView.xcscheme_^#shared#^_
+
+ orderHint
+ 0
+
+
+
+
diff --git a/SSPlaceHolderTableView.podspec b/SSPlaceHolderTableView.podspec
index ee575ba..ae4c6ff 100644
--- a/SSPlaceHolderTableView.podspec
+++ b/SSPlaceHolderTableView.podspec
@@ -75,8 +75,8 @@ Pod::Spec.new do |spec|
# Not including the public_header_files will make all headers public.
#
- spec.source_files = 'SSPlaceHolderTableView/Library/*.swift'
- spec.resources = ['SSPlaceHolderTableView/XIB/*.xib','SSPlaceHolderTableView/Assets.xcassets']
+ spec.source_files = 'Sources/SSPlaceHolderTableView/Library/*.swift'
+ spec.resources = ['Sources/SSPlaceHolderTableView/Resources/*.xib','Sources/SSPlaceHolderTableView/Resources/Assets.xcassets']
spec.documentation_url = 'docs/index.html'
end
diff --git a/SSPlaceHolderTableView.xcodeproj/project.pbxproj b/SSPlaceHolderTableView.xcodeproj/project.pbxproj
index af2a632..cbffa65 100644
--- a/SSPlaceHolderTableView.xcodeproj/project.pbxproj
+++ b/SSPlaceHolderTableView.xcodeproj/project.pbxproj
@@ -16,21 +16,11 @@
81265DA221E894380001C11B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81265DA121E894380001C11B /* AppDelegate.swift */; };
81265DA421E894380001C11B /* TableVIewFullDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81265DA321E894380001C11B /* TableVIewFullDemo.swift */; };
81265DA721E894380001C11B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81265DA521E894380001C11B /* Main.storyboard */; };
- 81265DA921E894390001C11B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 81265DA821E894390001C11B /* Assets.xcassets */; };
81265DAC21E894390001C11B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 81265DAA21E894390001C11B /* LaunchScreen.storyboard */; };
- 81265DB421E89F8F0001C11B /* TableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81265DB321E89F8F0001C11B /* TableView.swift */; };
- 8135D142224E1D9700B1CD0D /* Reachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8135D141224E1D9700B1CD0D /* Reachability.swift */; };
814D9F9B224E657600348A41 /* TableView.png in Resources */ = {isa = PBXBuildFile; fileRef = 814D9F99224E657600348A41 /* TableView.png */; };
814D9F9C224E657600348A41 /* CollectionView.png in Resources */ = {isa = PBXBuildFile; fileRef = 814D9F9A224E657600348A41 /* CollectionView.png */; };
- 81539F1621EF0C51003F4F93 /* LoadingView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81539F1521EF0C51003F4F93 /* LoadingView.swift */; };
- 81539F1821EF0C5F003F4F93 /* LoadingView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 81539F1721EF0C5F003F4F93 /* LoadingView.xib */; };
- 81539F1B21EF2029003F4F93 /* NoDataView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81539F1921EF2029003F4F93 /* NoDataView.swift */; };
- 81539F1C21EF204F003F4F93 /* NoDataView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 81539F1A21EF2029003F4F93 /* NoDataView.xib */; };
- 8170AB2A21F5BF3B0013C30D /* Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8170AB2921F5BF3B0013C30D /* Extensions.swift */; };
- 81A96F7121F06240002915D4 /* NetworkUnavailableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A96F7021F06240002915D4 /* NetworkUnavailableView.swift */; };
- 81A96F7221F077F6002915D4 /* NetworkUnavailableView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 81A96F6F21F06240002915D4 /* NetworkUnavailableView.xib */; };
- 81A96F7421F1A54F002915D4 /* CollectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A96F7321F1A54F002915D4 /* CollectionView.swift */; };
81A96F7621F1C964002915D4 /* CollectionViewFullDemo.swift in Sources */ = {isa = PBXBuildFile; fileRef = 81A96F7521F1C964002915D4 /* CollectionViewFullDemo.swift */; };
+ E4BD801728DB1A81002413CA /* Sources in Resources */ = {isa = PBXBuildFile; fileRef = E4BD801628DB1A81002413CA /* Sources */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
@@ -44,24 +34,14 @@
81265DA121E894380001C11B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
81265DA321E894380001C11B /* TableVIewFullDemo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableVIewFullDemo.swift; sourceTree = ""; };
81265DA621E894380001C11B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
- 81265DA821E894390001C11B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
81265DAB21E894390001C11B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
81265DAD21E894390001C11B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 81265DB321E89F8F0001C11B /* TableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TableView.swift; sourceTree = ""; };
- 8135D141224E1D9700B1CD0D /* Reachability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Reachability.swift; sourceTree = ""; };
814D9F99224E657600348A41 /* TableView.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = TableView.png; sourceTree = ""; };
814D9F9A224E657600348A41 /* CollectionView.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CollectionView.png; sourceTree = ""; };
- 81539F1521EF0C51003F4F93 /* LoadingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoadingView.swift; sourceTree = ""; };
- 81539F1721EF0C5F003F4F93 /* LoadingView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LoadingView.xib; sourceTree = ""; };
- 81539F1921EF2029003F4F93 /* NoDataView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NoDataView.swift; sourceTree = ""; };
- 81539F1A21EF2029003F4F93 /* NoDataView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NoDataView.xib; sourceTree = ""; };
- 8170AB2921F5BF3B0013C30D /* Extensions.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Extensions.swift; sourceTree = ""; };
- 81A96F6F21F06240002915D4 /* NetworkUnavailableView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NetworkUnavailableView.xib; sourceTree = ""; };
- 81A96F7021F06240002915D4 /* NetworkUnavailableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkUnavailableView.swift; sourceTree = ""; };
- 81A96F7321F1A54F002915D4 /* CollectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionView.swift; sourceTree = ""; };
81A96F7521F1C964002915D4 /* CollectionViewFullDemo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CollectionViewFullDemo.swift; sourceTree = ""; };
C60C807B9961F6410C5993E9 /* Pods_SSPlaceHolderTableView.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SSPlaceHolderTableView.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CF6D03242DF5CD118D7969D4 /* Pods-SSPlaceHolderTableView.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SSPlaceHolderTableView.debug.xcconfig"; path = "Target Support Files/Pods-SSPlaceHolderTableView/Pods-SSPlaceHolderTableView.debug.xcconfig"; sourceTree = ""; };
+ E4BD801628DB1A81002413CA /* Sources */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Sources; sourceTree = SOURCE_ROOT; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -115,28 +95,16 @@
81265DA021E894380001C11B /* SSPlaceHolderTableView */ = {
isa = PBXGroup;
children = (
+ E4BD801628DB1A81002413CA /* Sources */,
81B7E48D2255C2AF001A069F /* Example */,
814D9F98224E655C00348A41 /* ScreenShot */,
- 8135D143224E1E5E00B1CD0D /* XIB */,
- 81BC0BB6224E0AD400AE73C2 /* Library */,
81265DA121E894380001C11B /* AppDelegate.swift */,
81265DAA21E894390001C11B /* LaunchScreen.storyboard */,
81265DAD21E894390001C11B /* Info.plist */,
- 81265DA821E894390001C11B /* Assets.xcassets */,
);
path = SSPlaceHolderTableView;
sourceTree = "";
};
- 8135D143224E1E5E00B1CD0D /* XIB */ = {
- isa = PBXGroup;
- children = (
- 81539F1A21EF2029003F4F93 /* NoDataView.xib */,
- 81539F1721EF0C5F003F4F93 /* LoadingView.xib */,
- 81A96F6F21F06240002915D4 /* NetworkUnavailableView.xib */,
- );
- path = XIB;
- sourceTree = "";
- };
814D9F98224E655C00348A41 /* ScreenShot */ = {
isa = PBXGroup;
children = (
@@ -160,20 +128,6 @@
path = Example;
sourceTree = "";
};
- 81BC0BB6224E0AD400AE73C2 /* Library */ = {
- isa = PBXGroup;
- children = (
- 8135D141224E1D9700B1CD0D /* Reachability.swift */,
- 81265DB321E89F8F0001C11B /* TableView.swift */,
- 81A96F7321F1A54F002915D4 /* CollectionView.swift */,
- 81539F1921EF2029003F4F93 /* NoDataView.swift */,
- 81539F1521EF0C51003F4F93 /* LoadingView.swift */,
- 81A96F7021F06240002915D4 /* NetworkUnavailableView.swift */,
- 8170AB2921F5BF3B0013C30D /* Extensions.swift */,
- );
- path = Library;
- sourceTree = "";
- };
E935BDBEA14FCB0D2F242C8D /* Frameworks */ = {
isa = PBXGroup;
children = (
@@ -244,12 +198,9 @@
files = (
814D9F9B224E657600348A41 /* TableView.png in Resources */,
81265DAC21E894390001C11B /* LaunchScreen.storyboard in Resources */,
- 81539F1821EF0C5F003F4F93 /* LoadingView.xib in Resources */,
- 81A96F7221F077F6002915D4 /* NetworkUnavailableView.xib in Resources */,
814D9F9C224E657600348A41 /* CollectionView.png in Resources */,
- 81265DA921E894390001C11B /* Assets.xcassets in Resources */,
+ E4BD801728DB1A81002413CA /* Sources in Resources */,
81265DA721E894380001C11B /* Main.storyboard in Resources */,
- 81539F1C21EF204F003F4F93 /* NoDataView.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -284,17 +235,10 @@
811F07A3225B0F8A0054D0C6 /* ExampleListViewController.swift in Sources */,
81265DA421E894380001C11B /* TableVIewFullDemo.swift in Sources */,
811F07AD225B13710054D0C6 /* NoInternetPlaceholder.swift in Sources */,
- 81A96F7121F06240002915D4 /* NetworkUnavailableView.swift in Sources */,
- 81539F1621EF0C51003F4F93 /* LoadingView.swift in Sources */,
- 8170AB2A21F5BF3B0013C30D /* Extensions.swift in Sources */,
- 81265DB421E89F8F0001C11B /* TableView.swift in Sources */,
81265DA221E894380001C11B /* AppDelegate.swift in Sources */,
- 81539F1B21EF2029003F4F93 /* NoDataView.swift in Sources */,
- 8135D142224E1D9700B1CD0D /* Reachability.swift in Sources */,
81A96F7621F1C964002915D4 /* CollectionViewFullDemo.swift in Sources */,
811F07A7225B136C0054D0C6 /* LoadingTableView.swift in Sources */,
811F07A9225B136D0054D0C6 /* DataAvailablePlaceholderTableView.swift in Sources */,
- 81A96F7421F1A54F002915D4 /* CollectionView.swift in Sources */,
811F07AB225B136F0054D0C6 /* DataUnAvailablePlaceholderTableView.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
diff --git a/SSPlaceHolderTableView/Library/CollectionView.swift b/Sources/SSPlaceHolderTableView/Library/CollectionView.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/CollectionView.swift
rename to Sources/SSPlaceHolderTableView/Library/CollectionView.swift
diff --git a/SSPlaceHolderTableView/Library/Extensions.swift b/Sources/SSPlaceHolderTableView/Library/Extensions.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/Extensions.swift
rename to Sources/SSPlaceHolderTableView/Library/Extensions.swift
diff --git a/SSPlaceHolderTableView/Library/LoadingView.swift b/Sources/SSPlaceHolderTableView/Library/LoadingView.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/LoadingView.swift
rename to Sources/SSPlaceHolderTableView/Library/LoadingView.swift
diff --git a/SSPlaceHolderTableView/Library/NetworkUnavailableView.swift b/Sources/SSPlaceHolderTableView/Library/NetworkUnavailableView.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/NetworkUnavailableView.swift
rename to Sources/SSPlaceHolderTableView/Library/NetworkUnavailableView.swift
diff --git a/SSPlaceHolderTableView/Library/NoDataView.swift b/Sources/SSPlaceHolderTableView/Library/NoDataView.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/NoDataView.swift
rename to Sources/SSPlaceHolderTableView/Library/NoDataView.swift
diff --git a/SSPlaceHolderTableView/Library/Reachability.swift b/Sources/SSPlaceHolderTableView/Library/Reachability.swift
similarity index 100%
rename from SSPlaceHolderTableView/Library/Reachability.swift
rename to Sources/SSPlaceHolderTableView/Library/Reachability.swift
diff --git a/SSPlaceHolderTableView/Library/TableView.swift b/Sources/SSPlaceHolderTableView/Library/TableView.swift
similarity index 99%
rename from SSPlaceHolderTableView/Library/TableView.swift
rename to Sources/SSPlaceHolderTableView/Library/TableView.swift
index f67f5d7..7313d49 100644
--- a/SSPlaceHolderTableView/Library/TableView.swift
+++ b/Sources/SSPlaceHolderTableView/Library/TableView.swift
@@ -19,7 +19,7 @@ public enum SSPlaceHolderStates {
case unknown
}
-protocol networkRechabilityProtocol: class {
+protocol networkRechabilityProtocol: AnyObject {
func retryNetworkCall()
}
var gCenterOffSetMultiplier: CGFloat = 0.75
diff --git a/SSPlaceHolderTableView/Assets.xcassets/AppIcon.appiconset/Contents.json b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/AppIcon.appiconset/Contents.json
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/SSPlaceHolderTableView/Assets.xcassets/Contents.json b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/Contents.json
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/Contents.json
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/Contents.json
diff --git a/SSPlaceHolderTableView/Assets.xcassets/loading.imageset/Contents.json b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/loading.imageset/Contents.json
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/loading.imageset/Contents.json
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/loading.imageset/Contents.json
diff --git a/SSPlaceHolderTableView/Assets.xcassets/loading.imageset/loading.pdf b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/loading.imageset/loading.pdf
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/loading.imageset/loading.pdf
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/loading.imageset/loading.pdf
diff --git a/SSPlaceHolderTableView/Assets.xcassets/noData.imageset/Contents.json b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noData.imageset/Contents.json
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/noData.imageset/Contents.json
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noData.imageset/Contents.json
diff --git a/SSPlaceHolderTableView/Assets.xcassets/noData.imageset/no data.pdf b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noData.imageset/no data.pdf
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/noData.imageset/no data.pdf
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noData.imageset/no data.pdf
diff --git a/SSPlaceHolderTableView/Assets.xcassets/noInternet.imageset/Contents.json b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noInternet.imageset/Contents.json
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/noInternet.imageset/Contents.json
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noInternet.imageset/Contents.json
diff --git a/SSPlaceHolderTableView/Assets.xcassets/noInternet.imageset/no wifi.pdf b/Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noInternet.imageset/no wifi.pdf
similarity index 100%
rename from SSPlaceHolderTableView/Assets.xcassets/noInternet.imageset/no wifi.pdf
rename to Sources/SSPlaceHolderTableView/Resources/Assets.xcassets/noInternet.imageset/no wifi.pdf
diff --git a/SSPlaceHolderTableView/XIB/LoadingView.xib b/Sources/SSPlaceHolderTableView/Resources/LoadingView.xib
similarity index 100%
rename from SSPlaceHolderTableView/XIB/LoadingView.xib
rename to Sources/SSPlaceHolderTableView/Resources/LoadingView.xib
diff --git a/SSPlaceHolderTableView/XIB/NetworkUnavailableView.xib b/Sources/SSPlaceHolderTableView/Resources/NetworkUnavailableView.xib
similarity index 100%
rename from SSPlaceHolderTableView/XIB/NetworkUnavailableView.xib
rename to Sources/SSPlaceHolderTableView/Resources/NetworkUnavailableView.xib
diff --git a/SSPlaceHolderTableView/XIB/NoDataView.xib b/Sources/SSPlaceHolderTableView/Resources/NoDataView.xib
similarity index 100%
rename from SSPlaceHolderTableView/XIB/NoDataView.xib
rename to Sources/SSPlaceHolderTableView/Resources/NoDataView.xib
diff --git a/Sources/SSPlaceHolderTableView/SSPlaceHolderTableView.swift b/Sources/SSPlaceHolderTableView/SSPlaceHolderTableView.swift
new file mode 100644
index 0000000..66afdfb
--- /dev/null
+++ b/Sources/SSPlaceHolderTableView/SSPlaceHolderTableView.swift
@@ -0,0 +1,6 @@
+public struct SSPlaceHolderTableView {
+ public private(set) var text = "Hello, World!"
+
+ public init() {
+ }
+}