From 54551ef77e94cc4867d785d7b827903d73f3bd6d Mon Sep 17 00:00:00 2001 From: Max Sokolov Date: Sun, 20 Mar 2016 09:26:58 +0300 Subject: [PATCH] setup new demo project --- Tablet.xcworkspace/contents.xcworkspacedata | 3 + .../UserInterfaceState.xcuserstate | Bin 13297 -> 16227 bytes Tablet/TableDirector.swift | 2 +- .../UserInterfaceState.xcuserstate | Bin 19700 -> 19773 bytes .../ViewControllers/MainViewController.swift | 1 + .../AppIcon.appiconset/Contents.json | 0 .../{TabletDemo => Resources}/Info.plist | 0 .../Storyboards/LaunchScreen.storyboard | 5 +- .../Resources/Storyboards/Main.storyboard | 117 +---------- .../TabletDemo.xcodeproj/project.pbxproj | 190 +----------------- .../UserInterfaceState.xcuserstate | Bin 57640 -> 35030 bytes .../ConfigurableTableViewCell.swift | 39 ---- .../TabletDemo/CustomTableActions.swift | 20 -- .../TabletDemo/MyNibTableViewCell.swift | 15 -- TabletDemo/TabletDemo/MyNibTableViewCell.xib | 23 --- TabletDemo/TabletDemo/MyTableViewCell.swift | 19 -- TabletDemo/TabletDemo/ViewController.swift | 72 ------- 17 files changed, 21 insertions(+), 485 deletions(-) rename TabletDemo/{TabletDemo => Resources/Assets}/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename TabletDemo/{TabletDemo => Resources}/Info.plist (100%) delete mode 100644 TabletDemo/TabletDemo/ConfigurableTableViewCell.swift delete mode 100644 TabletDemo/TabletDemo/CustomTableActions.swift delete mode 100644 TabletDemo/TabletDemo/MyNibTableViewCell.swift delete mode 100644 TabletDemo/TabletDemo/MyNibTableViewCell.xib delete mode 100644 TabletDemo/TabletDemo/MyTableViewCell.swift delete mode 100644 TabletDemo/TabletDemo/ViewController.swift diff --git a/Tablet.xcworkspace/contents.xcworkspacedata b/Tablet.xcworkspace/contents.xcworkspacedata index 64eb7dc..8a2fad4 100644 --- a/Tablet.xcworkspace/contents.xcworkspacedata +++ b/Tablet.xcworkspace/contents.xcworkspacedata @@ -4,4 +4,7 @@ + + diff --git a/Tablet.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate b/Tablet.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate index ecbfcfa52cfb59b6b4790f319dde0bc8d66c6cb0..1fef06ba080bf7765c84906d1a4d0237192fb3d4 100644 GIT binary patch literal 16227 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 delta 7743 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 UZPnC?P}L{XtLn4*e?-v#0f-bKAOHXW diff --git a/Tablet/TableDirector.swift b/Tablet/TableDirector.swift index d3a356b..1c5013d 100644 --- a/Tablet/TableDirector.swift +++ b/Tablet/TableDirector.swift @@ -85,7 +85,7 @@ public class TableDirector: NSObject, UITableViewDataSource, UITableViewDelegate } public extension TableDirector { - + // MARK: UITableViewDataSource - configuration func numberOfSectionsInTableView(tableView: UITableView) -> Int { diff --git a/Tablet/Tablet.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate b/Tablet/Tablet.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate index 7e3b1326adbf6b56264f62b9ab1300b2ff92c527..fbea635a0c0021a021bbf4092872841a02f23437 100644 GIT binary patch delta 6898 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 diff --git a/TabletDemo/Classes/Presentation/Main/ViewControllers/MainViewController.swift b/TabletDemo/Classes/Presentation/Main/ViewControllers/MainViewController.swift index 6677dd7..3831c57 100644 --- a/TabletDemo/Classes/Presentation/Main/ViewControllers/MainViewController.swift +++ b/TabletDemo/Classes/Presentation/Main/ViewControllers/MainViewController.swift @@ -8,6 +8,7 @@ import Foundation import UIKit +import Tablet class MainViewController : UITableViewController { diff --git a/TabletDemo/TabletDemo/Assets.xcassets/AppIcon.appiconset/Contents.json b/TabletDemo/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from TabletDemo/TabletDemo/Assets.xcassets/AppIcon.appiconset/Contents.json rename to TabletDemo/Resources/Assets/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/TabletDemo/TabletDemo/Info.plist b/TabletDemo/Resources/Info.plist similarity index 100% rename from TabletDemo/TabletDemo/Info.plist rename to TabletDemo/Resources/Info.plist diff --git a/TabletDemo/Resources/Storyboards/LaunchScreen.storyboard b/TabletDemo/Resources/Storyboards/LaunchScreen.storyboard index ffacbd6..c9b7564 100644 --- a/TabletDemo/Resources/Storyboards/LaunchScreen.storyboard +++ b/TabletDemo/Resources/Storyboards/LaunchScreen.storyboard @@ -1,8 +1,8 @@ - + - + @@ -16,7 +16,6 @@ - diff --git a/TabletDemo/Resources/Storyboards/Main.storyboard b/TabletDemo/Resources/Storyboards/Main.storyboard index d299801..2cf7895 100644 --- a/TabletDemo/Resources/Storyboards/Main.storyboard +++ b/TabletDemo/Resources/Storyboards/Main.storyboard @@ -5,99 +5,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -107,7 +14,7 @@ - + @@ -125,25 +32,7 @@ - - - - - - - - - - - - - - - - - - - + @@ -161,7 +50,7 @@ - + diff --git a/TabletDemo/TabletDemo.xcodeproj/project.pbxproj b/TabletDemo/TabletDemo.xcodeproj/project.pbxproj index 4d8e6af..4d330c4 100644 --- a/TabletDemo/TabletDemo.xcodeproj/project.pbxproj +++ b/TabletDemo/TabletDemo.xcodeproj/project.pbxproj @@ -7,54 +7,21 @@ objects = { /* Begin PBXBuildFile section */ - 508B71841BF48DD300272920 /* TableSectionBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508B71831BF48DD300272920 /* TableSectionBuilder.swift */; }; - 508B71861BF48E0D00272920 /* TableRowBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508B71851BF48E0D00272920 /* TableRowBuilder.swift */; }; - DA1BCD0F1BF5472C00CC0479 /* TableDirector.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA1BCD0E1BF5472C00CC0479 /* TableDirector.swift */; }; - DA1BCD111BF7388C00CC0479 /* CustomTableActions.swift in Sources */ = {isa = PBXBuildFile; fileRef = DA1BCD101BF7388C00CC0479 /* CustomTableActions.swift */; }; - DAB7EB2D1BEF787300D2AD5E /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB7EB2C1BEF787300D2AD5E /* ViewController.swift */; }; - DAB7EB321BEF787300D2AD5E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DAB7EB311BEF787300D2AD5E /* Assets.xcassets */; }; - DAB7EB3E1BEF78A400D2AD5E /* Tablet.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB7EB3D1BEF78A400D2AD5E /* Tablet.swift */; }; - DAB7EB401BEFD07E00D2AD5E /* ConfigurableTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAB7EB3F1BEFD07E00D2AD5E /* ConfigurableTableViewCell.swift */; }; DAC2D5CA1C9D303E009E9C19 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAC2D5C91C9D303E009E9C19 /* AppDelegate.swift */; }; DAC2D5CF1C9D30A7009E9C19 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DAC2D5CD1C9D30A7009E9C19 /* Main.storyboard */; }; DAC2D5D01C9D30A7009E9C19 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = DAC2D5CE1C9D30A7009E9C19 /* LaunchScreen.storyboard */; }; DAC2D5D41C9D3118009E9C19 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAC2D5D31C9D3118009E9C19 /* MainViewController.swift */; }; - DAC2D5E61C9D6493009E9C19 /* TabletTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAC2D5D61C9D638F009E9C19 /* TabletTests.swift */; }; - DAED08F11C14DE7E006C04D8 /* MyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAED08F01C14DE7E006C04D8 /* MyTableViewCell.swift */; }; - DAF003961C14DC0C0028C3D6 /* MyNibTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = DAF003951C14DC0C0028C3D6 /* MyNibTableViewCell.swift */; }; - DAF003981C14DC250028C3D6 /* MyNibTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = DAF003971C14DC250028C3D6 /* MyNibTableViewCell.xib */; }; + DAC2D69C1C9E75E3009E9C19 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = DAC2D69B1C9E75E3009E9C19 /* Assets.xcassets */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - DAC2D5E11C9D6433009E9C19 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = DAB7EB1F1BEF787300D2AD5E /* Project object */; - proxyType = 1; - remoteGlobalIDString = DAB7EB261BEF787300D2AD5E; - remoteInfo = TabletDemo; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ - 508B71831BF48DD300272920 /* TableSectionBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableSectionBuilder.swift; sourceTree = ""; }; - 508B71851BF48E0D00272920 /* TableRowBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableRowBuilder.swift; sourceTree = ""; }; - DA1BCD0E1BF5472C00CC0479 /* TableDirector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableDirector.swift; sourceTree = ""; }; - DA1BCD101BF7388C00CC0479 /* CustomTableActions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CustomTableActions.swift; sourceTree = ""; }; DAB7EB271BEF787300D2AD5E /* TabletDemo.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = TabletDemo.app; sourceTree = BUILT_PRODUCTS_DIR; }; - DAB7EB2C1BEF787300D2AD5E /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; - DAB7EB311BEF787300D2AD5E /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; - DAB7EB361BEF787300D2AD5E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - DAB7EB3D1BEF78A400D2AD5E /* Tablet.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Tablet.swift; sourceTree = ""; }; - DAB7EB3F1BEFD07E00D2AD5E /* ConfigurableTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigurableTableViewCell.swift; sourceTree = ""; }; DAC2D5C91C9D303E009E9C19 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; DAC2D5CD1C9D30A7009E9C19 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Main.storyboard; sourceTree = ""; }; DAC2D5CE1C9D30A7009E9C19 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = LaunchScreen.storyboard; sourceTree = ""; }; DAC2D5D31C9D3118009E9C19 /* MainViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; - DAC2D5D61C9D638F009E9C19 /* TabletTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TabletTests.swift; sourceTree = ""; }; - DAC2D5DC1C9D6433009E9C19 /* TabletTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = TabletTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - DAED08F01C14DE7E006C04D8 /* MyTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyTableViewCell.swift; sourceTree = ""; }; - DAF003951C14DC0C0028C3D6 /* MyNibTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MyNibTableViewCell.swift; sourceTree = ""; }; - DAF003971C14DC250028C3D6 /* MyNibTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MyNibTableViewCell.xib; sourceTree = ""; }; + DAC2D69B1C9E75E3009E9C19 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + DAC2D69D1C9E78B5009E9C19 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -65,24 +32,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - DAC2D5D91C9D6433009E9C19 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ DAB7EB1E1BEF787300D2AD5E = { isa = PBXGroup; children = ( - DAB7EB3C1BEF789500D2AD5E /* Tablet */, DAC2D5C61C9D2FE5009E9C19 /* Classes */, DAC2D5CB1C9D3058009E9C19 /* Resources */, - DAC2D5D51C9D635F009E9C19 /* Tests */, - DAB7EB291BEF787300D2AD5E /* TabletDemo */, DAB7EB281BEF787300D2AD5E /* Products */, ); sourceTree = ""; @@ -91,46 +48,10 @@ isa = PBXGroup; children = ( DAB7EB271BEF787300D2AD5E /* TabletDemo.app */, - DAC2D5DC1C9D6433009E9C19 /* TabletTests.xctest */, ); name = Products; sourceTree = ""; }; - DAB7EB291BEF787300D2AD5E /* TabletDemo */ = { - isa = PBXGroup; - children = ( - DAC2D5C41C9D2F5C009E9C19 /* Presentation */, - DAB7EB2C1BEF787300D2AD5E /* ViewController.swift */, - DAB7EB3F1BEFD07E00D2AD5E /* ConfigurableTableViewCell.swift */, - DA1BCD101BF7388C00CC0479 /* CustomTableActions.swift */, - DAF003951C14DC0C0028C3D6 /* MyNibTableViewCell.swift */, - DAF003971C14DC250028C3D6 /* MyNibTableViewCell.xib */, - DAED08F01C14DE7E006C04D8 /* MyTableViewCell.swift */, - DAB7EB311BEF787300D2AD5E /* Assets.xcassets */, - DAB7EB361BEF787300D2AD5E /* Info.plist */, - ); - path = TabletDemo; - sourceTree = ""; - }; - DAB7EB3C1BEF789500D2AD5E /* Tablet */ = { - isa = PBXGroup; - children = ( - DAB7EB3D1BEF78A400D2AD5E /* Tablet.swift */, - DA1BCD0E1BF5472C00CC0479 /* TableDirector.swift */, - 508B71851BF48E0D00272920 /* TableRowBuilder.swift */, - 508B71831BF48DD300272920 /* TableSectionBuilder.swift */, - ); - name = Tablet; - path = ../Tablet; - sourceTree = ""; - }; - DAC2D5C41C9D2F5C009E9C19 /* Presentation */ = { - isa = PBXGroup; - children = ( - ); - name = Presentation; - sourceTree = ""; - }; DAC2D5C61C9D2FE5009E9C19 /* Classes */ = { isa = PBXGroup; children = ( @@ -159,6 +80,8 @@ DAC2D5CB1C9D3058009E9C19 /* Resources */ = { isa = PBXGroup; children = ( + DAC2D69D1C9E78B5009E9C19 /* Info.plist */, + DAC2D69A1C9E75BE009E9C19 /* Assets */, DAC2D5CC1C9D306C009E9C19 /* Storyboards */, ); path = Resources; @@ -189,13 +112,12 @@ path = ViewControllers; sourceTree = ""; }; - DAC2D5D51C9D635F009E9C19 /* Tests */ = { + DAC2D69A1C9E75BE009E9C19 /* Assets */ = { isa = PBXGroup; children = ( - DAC2D5D61C9D638F009E9C19 /* TabletTests.swift */, + DAC2D69B1C9E75E3009E9C19 /* Assets.xcassets */, ); - name = Tests; - path = ../Tests; + path = Assets; sourceTree = ""; }; /* End PBXGroup section */ @@ -218,24 +140,6 @@ productReference = DAB7EB271BEF787300D2AD5E /* TabletDemo.app */; productType = "com.apple.product-type.application"; }; - DAC2D5DB1C9D6433009E9C19 /* TabletTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = DAC2D5E31C9D6433009E9C19 /* Build configuration list for PBXNativeTarget "TabletTests" */; - buildPhases = ( - DAC2D5D81C9D6433009E9C19 /* Sources */, - DAC2D5D91C9D6433009E9C19 /* Frameworks */, - DAC2D5DA1C9D6433009E9C19 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - DAC2D5E21C9D6433009E9C19 /* PBXTargetDependency */, - ); - name = TabletTests; - productName = TabletTests; - productReference = DAC2D5DC1C9D6433009E9C19 /* TabletTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ @@ -250,10 +154,6 @@ CreatedOnToolsVersion = 7.0.1; DevelopmentTeam = Z48R734SJX; }; - DAC2D5DB1C9D6433009E9C19 = { - CreatedOnToolsVersion = 7.2; - TestTargetID = DAB7EB261BEF787300D2AD5E; - }; }; }; buildConfigurationList = DAB7EB221BEF787300D2AD5E /* Build configuration list for PBXProject "TabletDemo" */; @@ -270,7 +170,6 @@ projectRoot = ""; targets = ( DAB7EB261BEF787300D2AD5E /* TabletDemo */, - DAC2D5DB1C9D6433009E9C19 /* TabletTests */, ); }; /* End PBXProject section */ @@ -282,15 +181,7 @@ files = ( DAC2D5CF1C9D30A7009E9C19 /* Main.storyboard in Resources */, DAC2D5D01C9D30A7009E9C19 /* LaunchScreen.storyboard in Resources */, - DAF003981C14DC250028C3D6 /* MyNibTableViewCell.xib in Resources */, - DAB7EB321BEF787300D2AD5E /* Assets.xcassets in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DAC2D5DA1C9D6433009E9C19 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( + DAC2D69C1C9E75E3009E9C19 /* Assets.xcassets in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -301,38 +192,13 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 508B71841BF48DD300272920 /* TableSectionBuilder.swift in Sources */, DAC2D5D41C9D3118009E9C19 /* MainViewController.swift in Sources */, - DAB7EB2D1BEF787300D2AD5E /* ViewController.swift in Sources */, - DAB7EB3E1BEF78A400D2AD5E /* Tablet.swift in Sources */, - DAED08F11C14DE7E006C04D8 /* MyTableViewCell.swift in Sources */, - DAF003961C14DC0C0028C3D6 /* MyNibTableViewCell.swift in Sources */, - 508B71861BF48E0D00272920 /* TableRowBuilder.swift in Sources */, - DA1BCD0F1BF5472C00CC0479 /* TableDirector.swift in Sources */, - DAB7EB401BEFD07E00D2AD5E /* ConfigurableTableViewCell.swift in Sources */, DAC2D5CA1C9D303E009E9C19 /* AppDelegate.swift in Sources */, - DA1BCD111BF7388C00CC0479 /* CustomTableActions.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - DAC2D5D81C9D6433009E9C19 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - DAC2D5E61C9D6493009E9C19 /* TabletTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - DAC2D5E21C9D6433009E9C19 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = DAB7EB261BEF787300D2AD5E /* TabletDemo */; - targetProxy = DAC2D5E11C9D6433009E9C19 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin XCBuildConfiguration section */ DAB7EB371BEF787300D2AD5E /* Debug */ = { isa = XCBuildConfiguration; @@ -421,7 +287,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - INFOPLIST_FILE = TabletDemo/Info.plist; + INFOPLIST_FILE = Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.tablet.tablet; @@ -436,7 +302,7 @@ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CODE_SIGN_IDENTITY = "iPhone Developer"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - INFOPLIST_FILE = TabletDemo/Info.plist; + INFOPLIST_FILE = Resources/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.tablet.tablet; @@ -445,32 +311,6 @@ }; name = Release; }; - DAC2D5E41C9D6433009E9C19 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - INFOPLIST_FILE = TabletTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.tablet.TabletTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TabletDemo.app/TabletDemo"; - }; - name = Debug; - }; - DAC2D5E51C9D6433009E9C19 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - BUNDLE_LOADER = "$(TEST_HOST)"; - INFOPLIST_FILE = TabletTests/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = com.tablet.TabletTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/TabletDemo.app/TabletDemo"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -492,14 +332,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DAC2D5E31C9D6433009E9C19 /* Build configuration list for PBXNativeTarget "TabletTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DAC2D5E41C9D6433009E9C19 /* Debug */, - DAC2D5E51C9D6433009E9C19 /* Release */, - ); - defaultConfigurationIsVisible = 0; - }; /* End XCConfigurationList section */ }; rootObject = DAB7EB1F1BEF787300D2AD5E /* Project object */; diff --git a/TabletDemo/TabletDemo.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate b/TabletDemo/TabletDemo.xcodeproj/project.xcworkspace/xcuserdata/maxsokolov.xcuserdatad/UserInterfaceState.xcuserstate index 7f71110bfb3fa8f5bb87dd78354f3cacf835981c..6fe613053bcb6cea09e7d7012eac75a7444f9698 100644 GIT binary patch delta 19299 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 RL#X@9@6-M5{M{7({{hM!`kw#* literal 57640 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 diff --git a/TabletDemo/TabletDemo/ConfigurableTableViewCell.swift b/TabletDemo/TabletDemo/ConfigurableTableViewCell.swift deleted file mode 100644 index 4887c0e..0000000 --- a/TabletDemo/TabletDemo/ConfigurableTableViewCell.swift +++ /dev/null @@ -1,39 +0,0 @@ -// -// ConfigurableTableViewCell.swift -// TabletDemo -// -// Created by Max Sokolov on 08/11/15. -// Copyright © 2015 Tablet. All rights reserved. -// - -import UIKit - -let kConfigurableTableViewCellButtonClickedAction = "button_clicked" - -class ConfigurableTableViewCell: UITableViewCell, ConfigurableCell { - - typealias Item = String - - @IBOutlet weak var button: UIButton! - @IBOutlet weak var contentLabel: UILabel! - - static func reusableIdentifier() -> String { - - return "ConfigurableTableViewCell" - } - - static func estimatedHeight() -> Float { - return 300 - } - - func configureWithItem(item: Item) { - - accessoryType = .DisclosureIndicator - button.setTitle("Button \(item)", forState: .Normal) - } - - @IBAction func buttonClicked(sender: UIButton) { - - Action(key: kConfigurableTableViewCellButtonClickedAction, sender: self).invoke() - } -} \ No newline at end of file diff --git a/TabletDemo/TabletDemo/CustomTableActions.swift b/TabletDemo/TabletDemo/CustomTableActions.swift deleted file mode 100644 index 5466099..0000000 --- a/TabletDemo/TabletDemo/CustomTableActions.swift +++ /dev/null @@ -1,20 +0,0 @@ -// -// CustomTableActions.swift -// TabletDemo -// -// Created by Max Sokolov on 14/11/15. -// Copyright © 2015 Tablet. All rights reserved. -// - -import UIKit -import Foundation - -let kTableDirectorDidEndDisplayingCell = "enddisplaycell" - -extension TableDirector { - - public func tableView(tableView: UITableView, didEndDisplayingCell cell: UITableViewCell, forRowAtIndexPath indexPath: NSIndexPath) { - - invokeAction(.custom(kTableDirectorDidEndDisplayingCell), cell: cell, indexPath: indexPath) - } -} \ No newline at end of file diff --git a/TabletDemo/TabletDemo/MyNibTableViewCell.swift b/TabletDemo/TabletDemo/MyNibTableViewCell.swift deleted file mode 100644 index 4888fb9..0000000 --- a/TabletDemo/TabletDemo/MyNibTableViewCell.swift +++ /dev/null @@ -1,15 +0,0 @@ -// -// MyNibTableViewCell.swift -// TabletDemo -// -// Created by Max Sokolov on 07/12/15. -// Copyright © 2015 Tablet. All rights reserved. -// - -import Foundation -import UIKit - -class MyNibTableViewCell : UITableViewCell { - - -} \ No newline at end of file diff --git a/TabletDemo/TabletDemo/MyNibTableViewCell.xib b/TabletDemo/TabletDemo/MyNibTableViewCell.xib deleted file mode 100644 index 02401db..0000000 --- a/TabletDemo/TabletDemo/MyNibTableViewCell.xib +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - diff --git a/TabletDemo/TabletDemo/MyTableViewCell.swift b/TabletDemo/TabletDemo/MyTableViewCell.swift deleted file mode 100644 index 9f03cea..0000000 --- a/TabletDemo/TabletDemo/MyTableViewCell.swift +++ /dev/null @@ -1,19 +0,0 @@ -// -// MyTableViewCell.swift -// TabletDemo -// -// Created by Max Sokolov on 07/12/15. -// Copyright © 2015 Tablet. All rights reserved. -// - -import Foundation -import UIKit - -class MyTableViewCell : UITableViewCell { - - override func layoutSubviews() { - super.layoutSubviews() - - backgroundColor = UIColor.redColor() - } -} \ No newline at end of file diff --git a/TabletDemo/TabletDemo/ViewController.swift b/TabletDemo/TabletDemo/ViewController.swift deleted file mode 100644 index 388260c..0000000 --- a/TabletDemo/TabletDemo/ViewController.swift +++ /dev/null @@ -1,72 +0,0 @@ -// -// ViewController.swift -// TabletDemo -// -// Created by Max Sokolov on 08/11/15. -// Copyright © 2015 Tablet. All rights reserved. -// - -import UIKit - -class ViewController: UIViewController, UIScrollViewDelegate { - - @IBOutlet weak var tableView: UITableView! { - didSet { - tableDirector = TableDirector(tableView: tableView) - } - } - var tableDirector: TableDirector! - - override func viewDidLoad() { - super.viewDidLoad() - - tableDirector.scrollDelegate = self - - let rowBuilder = TableRowBuilder(items: [1, 2, 3, 4], id: "cell") - .action(.configure) { data in - - data.cell?.textLabel?.text = "\(data.item)" - } - .action(.shouldHighlight) { data in - - return false - } - .action(kTableDirectorDidEndDisplayingCell) { data -> Void in - - print("end display: \(data.indexPath)") - } - - let configurableRowBuilder = TableConfigurableRowBuilder(items: ["5", "6", "7", "8"]) - .action(.click) { data -> Void in - - print("click action indexPath: \(data.indexPath), item: \(data.item)") - } - .action(kConfigurableTableViewCellButtonClickedAction) { data -> Void in - - print("custom action indexPath: \(data.indexPath), item: \(data.item)") - } - .action(.height) { data -> ReturnValue in - - if data.item == "5" { - return 70 - } - return nil - } - .action(.configure) { data -> Void in - - data.cell!.contentLabel.text = "Tablet is a super lightweight yet powerful generic library that handles a complexity of UITableView's datasource and delegate methods in a Swift environment. Tablet's goal is to provide an easiest way to create complex table views. With Tablet you don't have to write a messy code of switch or if statements when you deal with bunch of different cells in different sections." - } - - let myRowBuilder = TableRowBuilder(item: 0, id: "cellll") - - let sectionBuilder = TableSectionBuilder(headerTitle: "Tablet", footerTitle: "Deal with table view like a boss.", rows: [rowBuilder, configurableRowBuilder, myRowBuilder]) - - tableDirector += sectionBuilder - - sectionBuilder.appendRow(TableRowBuilder(item: 0)) - } - - func scrollViewWillBeginDragging(scrollView: UIScrollView) { - print("begin dragging") - } -} \ No newline at end of file