diff --git a/.travis.yml b/.travis.yml index ef79e85..8b401e5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode8.3 +osx_image: xcode9 env: global: @@ -10,27 +10,24 @@ env: - IOS_SCHEME="JSQDataSourcesKit-iOS" - TVOS_SCHEME="JSQDataSourcesKit-tvOS" - - IOS_SDK=iphonesimulator10.3 - - TVOS_SDK=appletvsimulator10.2 + - IOS_SDK=iphonesimulator11.0 + - TVOS_SDK=appletvsimulator11.0 matrix: - - DESTINATION="OS=8.1,name=iPhone 4s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="YES" POD_LINT="YES" - - DESTINATION="OS=8.2,name=iPhone 5" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=8.3,name=iPhone 5s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=8.4,name=iPhone 6" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" - - - DESTINATION="OS=9.0,name=iPhone 6 Plus" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=9.0,name=iPhone 6 Plus" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="YES" - DESTINATION="OS=9.1,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" - DESTINATION="OS=9.2,name=iPhone 6s Plus" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=9.3,name=iPad Pro" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=9.3,name=iPad Air 2" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + + - DESTINATION="OS=10.0,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" + - DESTINATION="OS=10.1,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=10.2,name=iPad Air 2" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=10.3.1,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=10.0,name=iPhone 6s" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="OS=10.1,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=10.2,name=iPad Air" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" - - DESTINATION="OS=10.3,name=iPhone 7" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=11.0,name=iPhone X" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME" RUN_TESTS="YES" BUILD_EXAMPLE="YES" POD_LINT="NO" - - DESTINATION="OS=9.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" - DESTINATION="OS=10.0,name=Apple TV 1080p" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" + - DESTINATION="OS=11.0,name=Apple TV 4K" SDK="$TVOS_SDK" SCHEME="$TVOS_SCHEME" RUN_TESTS="NO" BUILD_EXAMPLE="NO" POD_LINT="NO" script: - set -o pipefail diff --git a/CHANGELOG.md b/CHANGELOG.md index 1dedf02..74bd0c9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,10 +4,16 @@ The changelog for `JSQDataSourcesKit`. Also see the [releases](https://github.co -------------------------------------- -6.1.0 +7.0.0 ----- -This release closes the [6.1.0 milestone](https://github.com/jessesquires/JSQDataSourcesKit/milestone/11). +This release closes the [7.0.0 milestone](https://github.com/jessesquires/JSQDataSourcesKit/milestone/12). + +## Breaking + +- Converted to Swift 4.0 +- iOS 9.0 minimum now required +- tvOS 10.0 minimum now required ## New diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 415d0fd..5b2c775 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -7,7 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 876B25551D02662B00E8B477 /* XCTestCaseExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 876B25511D02661100E8B477 /* XCTestCaseExtensions.swift */; }; + 876B25551D02662B00E8B477 /* XCTestCase+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 876B25511D02661100E8B477 /* XCTestCase+Extensions.swift */; }; 876B25571D03770600E8B477 /* FetchedResultsViewsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 876B25561D03770600E8B477 /* FetchedResultsViewsUITests.swift */; }; 886EC7921CFF2D4900BDE6FA /* ExampleTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 886EC7901CFF2D4900BDE6FA /* ExampleTests.swift */; }; 886EC7971CFF2DD200BDE6FA /* StaticViewsUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 886EC7951CFF2DD200BDE6FA /* StaticViewsUITests.swift */; }; @@ -117,7 +117,7 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 876B25511D02661100E8B477 /* XCTestCaseExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = XCTestCaseExtensions.swift; sourceTree = ""; }; + 876B25511D02661100E8B477 /* XCTestCase+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "XCTestCase+Extensions.swift"; sourceTree = ""; }; 876B25561D03770600E8B477 /* FetchedResultsViewsUITests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FetchedResultsViewsUITests.swift; sourceTree = ""; }; 886EC7811CFF2C8400BDE6FA /* ExampleUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ExampleUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 886EC7901CFF2D4900BDE6FA /* ExampleTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExampleTests.swift; sourceTree = ""; }; @@ -190,7 +190,7 @@ children = ( 886EC7951CFF2DD200BDE6FA /* StaticViewsUITests.swift */, 876B25561D03770600E8B477 /* FetchedResultsViewsUITests.swift */, - 876B25511D02661100E8B477 /* XCTestCaseExtensions.swift */, + 876B25511D02661100E8B477 /* XCTestCase+Extensions.swift */, 886EC7961CFF2DD200BDE6FA /* Info.plist */, ); path = UITests; @@ -329,24 +329,25 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Hexed Bits"; TargetAttributes = { 886EC7801CFF2C8400BDE6FA = { CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; TestTargetID = 88DB89C01A86D1A900DED153; }; 887863331B3699C800E2F51C = { CreatedOnToolsVersion = 7.0; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; TestTargetID = 88DB89C01A86D1A900DED153; }; 88DB89C01A86D1A900DED153 = { CreatedOnToolsVersion = 6.1.1; - DevelopmentTeam = 5VRJU68BZ5; DevelopmentTeamName = "Jesse Squires"; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; + ProvisioningStyle = Automatic; }; }; }; @@ -452,7 +453,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 876B25551D02662B00E8B477 /* XCTestCaseExtensions.swift in Sources */, + 876B25551D02662B00E8B477 /* XCTestCase+Extensions.swift in Sources */, 876B25571D03770600E8B477 /* FetchedResultsViewsUITests.swift in Sources */, 886EC7971CFF2DD200BDE6FA /* StaticViewsUITests.swift in Sources */, ); @@ -535,14 +536,18 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = UITests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleUITests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 4.0; TEST_TARGET_NAME = Example; }; name = Debug; @@ -551,16 +556,20 @@ isa = XCBuildConfiguration; buildSettings = { CLANG_ANALYZER_NONNULL = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = NO; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = ""; GCC_NO_COMMON_BLOCKS = YES; INFOPLIST_FILE = UITests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.3; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleUITests; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TEST_TARGET_NAME = Example; }; name = Release; @@ -576,7 +585,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DataSources.app/DataSources"; }; name = Debug; @@ -594,7 +603,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/DataSources.app/DataSources"; }; name = Release; @@ -607,14 +616,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -643,7 +658,7 @@ PRODUCT_NAME = DataSources; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -656,14 +671,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -683,7 +704,7 @@ MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = DataSources; SDKROOT = iphoneos; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -694,13 +715,17 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.hexedbits.$(PRODUCT_NAME)"; PRODUCT_MODULE_NAME = Example; PRODUCT_NAME = "$(PRODUCT_NAME)"; - SWIFT_VERSION = 3.0; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -709,14 +734,18 @@ buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "com.hexedbits.$(PRODUCT_NAME)"; PRODUCT_MODULE_NAME = Example; PRODUCT_NAME = "$(PRODUCT_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..3ddf867 --- /dev/null +++ b/Example/Example.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + BuildSystemType + Latest + + diff --git a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index 70e0048..d65606f 100644 --- a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -1,6 +1,6 @@ @@ -108,6 +109,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/Example/ExampleModel/ExampleModel.xcodeproj/project.pbxproj b/Example/ExampleModel/ExampleModel.xcodeproj/project.pbxproj index 6f69ef7..d836d32 100644 --- a/Example/ExampleModel/ExampleModel.xcodeproj/project.pbxproj +++ b/Example/ExampleModel/ExampleModel.xcodeproj/project.pbxproj @@ -152,18 +152,18 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Hexed Bits"; TargetAttributes = { 88AD286F1D1F9621000492FC = { CreatedOnToolsVersion = 7.3.1; DevelopmentTeam = 5VRJU68BZ5; DevelopmentTeamName = "Jesse Squires"; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; 88AD28791D1F9621000492FC = { CreatedOnToolsVersion = 7.3.1; - LastSwiftMigration = 0800; + LastSwiftMigration = 0910; }; }; }; @@ -241,14 +241,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -272,12 +278,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -293,14 +299,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -318,10 +330,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -340,13 +352,13 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleModel; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -361,13 +373,13 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleModel; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -378,7 +390,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleModelTests; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -390,7 +402,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.ExampleModelTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/Example/ExampleModel/ExampleModel.xcodeproj/xcshareddata/xcschemes/ExampleModel.xcscheme b/Example/ExampleModel/ExampleModel.xcodeproj/xcshareddata/xcschemes/ExampleModel.xcscheme index 190a0a1..12c1e3e 100644 --- a/Example/ExampleModel/ExampleModel.xcodeproj/xcshareddata/xcschemes/ExampleModel.xcscheme +++ b/Example/ExampleModel/ExampleModel.xcodeproj/xcshareddata/xcschemes/ExampleModel.xcscheme @@ -1,6 +1,6 @@ String) -> Int { - + inView view: XCUIElement, + byUniqueIdentifier identifier: (XCUIElement) -> String) -> Int { var accumulator = Set() var setOfVisibleElementsIdentifiersBeforeScroll = Set() @@ -99,10 +100,9 @@ extension XCTestCase { // Repeat until scrolling makes no changes. repeat { - setOfVisibleElementsIdentifiersAfterScroll = setOfVisibleElementsIdentifiersBeforeScroll - - let currentlyVisibleElements = view.descendants(matching: type).allElementsBoundByIndex.filter{ $0.isHittable } + + let currentlyVisibleElements = view.descendants(matching: type).allElementsBoundByIndex.filter { $0.isHittable } setOfVisibleElementsIdentifiersBeforeScroll = Set(currentlyVisibleElements.map { identifier($0) }) @@ -117,8 +117,9 @@ extension XCTestCase { } /// Sends a tap event to hittable elements of specified type. - func tapOn(_ numberOfElementsToTapOn: Int, hittableElementsOfType type: XCUIElementType, inView view: XCUIElement) { - + func tapOn(_ numberOfElementsToTapOn: Int, + hittableElementsOfType type: XCUIElementType, + inView view: XCUIElement) { let hittableElements = view.descendants(matching: type).allElementsBoundByIndex.filter { $0.isHittable } if hittableElements.count < numberOfElementsToTapOn { @@ -130,6 +131,5 @@ extension XCTestCase { element.tap() numberOfElementsTapped += 1 } - } } diff --git a/JSQDataSourcesKit.podspec b/JSQDataSourcesKit.podspec index 5e91974..30a84a1 100644 --- a/JSQDataSourcesKit.podspec +++ b/JSQDataSourcesKit.podspec @@ -1,11 +1,11 @@ Pod::Spec.new do |s| s.name = 'JSQDataSourcesKit' - s.version = '6.0.0' + s.version = '7.0.0' s.license = 'MIT' s.summary = 'Protocol-oriented, type-safe data source objects that keep your view controllers light' s.homepage = 'https://github.com/jessesquires/JSQDataSourcesKit' - s.documentation_url = 'http://jessesquires.com/JSQDataSourcesKit/' + s.documentation_url = 'https://jessesquires.github.io/JSQDataSourcesKit/' s.social_media_url = 'https://twitter.com/jesse_squires' s.author = 'Jesse Squires' @@ -13,8 +13,8 @@ Pod::Spec.new do |s| s.source = { :git => 'https://github.com/jessesquires/JSQDataSourcesKit.git', :tag => s.version } s.source_files = 'Source/*.swift' - s.platform = :ios, '8.0' - s.tvos.deployment_target = '9.0' + s.platform = :ios, '9.0' + s.tvos.deployment_target = '10.0' s.frameworks = 'CoreData' s.requires_arc = true diff --git a/JSQDataSourcesKit.xcodeproj/project.pbxproj b/JSQDataSourcesKit.xcodeproj/project.pbxproj index 886c24f..500d203 100644 --- a/JSQDataSourcesKit.xcodeproj/project.pbxproj +++ b/JSQDataSourcesKit.xcodeproj/project.pbxproj @@ -294,7 +294,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0700; - LastUpgradeCheck = 0810; + LastUpgradeCheck = 0900; ORGANIZATIONNAME = "Hexed Bits"; TargetAttributes = { 881A92CB1CB881270080BC5C = { @@ -305,11 +305,11 @@ CreatedOnToolsVersion = 7.0; DevelopmentTeam = 5VRJU68BZ5; DevelopmentTeamName = "Jesse Squires"; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; 887DD08D1B3BAC6C00FC4BF1 = { CreatedOnToolsVersion = 7.0; - LastSwiftMigration = 0800; + LastSwiftMigration = 0900; }; }; }; @@ -460,9 +460,9 @@ PRODUCT_NAME = JSQDataSourcesKit; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Debug; }; @@ -484,9 +484,9 @@ SDKROOT = appletvos; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; + TVOS_DEPLOYMENT_TARGET = 10.0; }; name = Release; }; @@ -498,14 +498,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -529,12 +535,12 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; @@ -549,14 +555,20 @@ CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; @@ -574,10 +586,10 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -596,14 +608,14 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQDataSourcesKit; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)"; PRODUCT_NAME = JSQDataSourcesKit; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -618,14 +630,14 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Source/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQDataSourcesKit; PRODUCT_MODULE_NAME = "$(PRODUCT_NAME)"; PRODUCT_NAME = JSQDataSourcesKit; SKIP_INSTALL = YES; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; @@ -639,7 +651,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQDataSourcesKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Debug; }; @@ -653,7 +665,7 @@ PRODUCT_BUNDLE_IDENTIFIER = com.hexedbits.JSQDataSourcesKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 4.0; }; name = Release; }; diff --git a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-iOS.xcscheme b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-iOS.xcscheme index 978d35f..21adf29 100644 --- a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-iOS.xcscheme +++ b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-iOS.xcscheme @@ -1,6 +1,6 @@ @@ -56,6 +57,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-tvOS.xcscheme b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-tvOS.xcscheme index 50e22c5..5e97c9d 100644 --- a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-tvOS.xcscheme +++ b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKit-tvOS.xcscheme @@ -1,6 +1,6 @@ @@ -36,6 +37,7 @@ buildConfiguration = "Debug" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" + language = "" launchStyle = "0" useCustomWorkingDirectory = "NO" ignoresPersistentStateOnLaunch = "NO" diff --git a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKitTests.xcscheme b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKitTests.xcscheme index 3028d65..fd77a2e 100644 --- a/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKitTests.xcscheme +++ b/JSQDataSourcesKit.xcodeproj/xcshareddata/xcschemes/JSQDataSourcesKitTests.xcscheme @@ -1,6 +1,6 @@ : NSFetchedResults - returns: An initialized fetch request controller. */ - public init(fetchRequest: NSFetchRequest, - managedObjectContext context: NSManagedObjectContext, - sectionNameKeyPath: String?, - cacheName name: String?) { + public init(fetchRequest: NSFetchRequest, + managedObjectContext context: NSManagedObjectContext, + sectionNameKeyPath: String?, + cacheName name: String?) { super.init(fetchRequest: fetchRequest as! NSFetchRequest, managedObjectContext: context, sectionNameKeyPath: sectionNameKeyPath, @@ -308,7 +308,7 @@ extension FetchedResultsController: DataSourceProtocol { guard section < numberOfSections() else { return nil } return sections?[section].objects as! [Item]? } - + /// :nodoc: public func item(atRow row: Int, inSection section: Int) -> Item? { guard section < numberOfSections() else { return nil } diff --git a/Source/DataSourceProvider.swift b/Source/DataSourceProvider.swift index 1798289..d040a99 100644 --- a/Source/DataSourceProvider.swift +++ b/Source/DataSourceProvider.swift @@ -73,6 +73,7 @@ public extension DataSourceProvider where CellFactory.View: UITableViewCell { return bridgedDataSource! } + /// The table editing controller for this data source provider. public var tableEditingController: TableEditingController? { set { _tableEditingController = newValue diff --git a/Source/Info.plist b/Source/Info.plist index a3d5bd3..a35bfc7 100644 --- a/Source/Info.plist +++ b/Source/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.0.0 + 7.0.0 CFBundleSignature ???? CFBundleVersion diff --git a/docs/Classes.html b/docs/Classes.html index 49898c7..a86f3fc 100644 --- a/docs/Classes.html +++ b/docs/Classes.html @@ -45,7 +45,7 @@
  • @@ -377,8 +402,8 @@

    Declaration

    diff --git a/docs/Classes/FetchedResultsController.html b/docs/Classes/FetchedResultsController.html index f9bb763..e7010a1 100644 --- a/docs/Classes/FetchedResultsController.html +++ b/docs/Classes/FetchedResultsController.html @@ -46,7 +46,7 @@
  • +
  • +
    + + + + init(sections:) + +
    +
    +
    +
    +
    +
    +

    Constructs a new DataSource.

    +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public init(sections: S...)
    + +
    +
    +
    +

    Parameters

    + + + + + @@ -161,8 +252,76 @@

    Parameters

    Return Value

    -

    The item at indexPath.

    +

    A new DataSource instance.

    +
    + + + + + +
    + +
      +
    • +
      + + + + insert(item:at:) + +
      +
      +
      +
      +
      +
      +

      Inserts the item at the specified index path.

      + +
      +
      +

      Declaration

      +
      +

      Swift

      +
      public mutating func insert(item: S.Item, at indexPath: IndexPath)
      +
      +
      +
      +

      Parameters

      +
    + + sections + + +
    +

    The sections for the data source.

    + + + + + + + + + + +
    + + item + + +
    +

    The item to be inserted.

    +
    +
    + + indexPath + + +
    +

    The index path specifying the location for the item.

    +
    +
    @@ -170,9 +329,9 @@

    Return Value

  • @@ -180,13 +339,14 @@

    Return Value

    - +

    Inserts the item at the specified row and section.

    +

    Declaration

    Swift

    -
    public subscript (index: Int) -> S
    +
    public mutating func insert(item: S.Item, atRow row: Int, inSection section: Int)
    @@ -197,13 +357,152 @@

    Parameters

    - index + item
    -

    The index of a section.

    +

    The item to be inserted.

    +
    + + + + + + row + + + +
    +

    The row location for the item.

    +
    + + + + + + section + + + +
    +

    The section location for the item.

    +
    + + + + +
    + + +
  • +
  • +
    + + + + append(_:inSection:) + +
    +
    +
    +
    +
    +
    +

    Appends the item at the specified section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public mutating func append(_ item: S.Item, inSection section: Int)
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + item + + +
    +

    The item to be appended.

    +
    +
    + + section + + +
    +

    The section location for the item.

    +
    +
    +
    +
    +
    +
  • +
  • + +
    +
    +
    +
    +
    +

    Removes the item at the specified row and section.

    + +
    +
    +

    Declaration

    +
    +

    Swift

    +
    public mutating func remove(atRow row: Int, inSection section: Int) -> S.Item?
    +
    +
    +
    +

    Parameters

    + + + + + + + + + @@ -212,8 +511,7 @@

    Parameters

    Return Value

    -

    The section at index.

    - +

    The item removed, or nil if it does not exist.

    @@ -221,9 +519,9 @@

    Return Value

  • - - - sections + + + remove(at:)
    @@ -231,17 +529,40 @@

    Return Value

    -

    The sections in the data source.

    +

    Removes the item at the specified index path.

    Declaration

    Swift

    -
    public var sections: [S]
    +
    public mutating func remove(at indexPath: IndexPath) -> S.Item?
    +
    +

    Parameters

    +
  • + + row + + +
    +

    The row location of the item.

    +
    +
    + + section + + +
    +

    The section location of the item.

    + + + + + + +
    + + indexPath + + +
    +

    The index path specifying the location of the item.

    +
    +
    +
    +
    +

    Return Value

    +

    The item at indexPath, or nil if it does not exist.

    +
  • @@ -249,19 +570,19 @@

    Declaration

    • - - - init(_:) + + + subscript(_:)
      @@ -269,14 +590,13 @@

      Initialization

      -

      Constructs a new DataSource.

      - +

      Declaration

      Swift

      -
      public init(_ sections: [S])
      +
      public subscript (index: Int) -> S
      @@ -287,13 +607,12 @@

      Parameters

      - sections + index
      -

      The sections for the data source.

      - +

      The index of a section.

      @@ -302,8 +621,7 @@

      Parameters

      Return Value

      -

      A new DataSource instance.

      - +

      The section at index.

    @@ -311,9 +629,9 @@

    Return Value

  • @@ -321,14 +639,13 @@

    Return Value

    -

    Constructs a new DataSource.

    - +

    Declaration

    Swift

    -
    public init(sections: S...)
    +
    public subscript (indexPath: IndexPath) -> S.Item
    @@ -339,13 +656,12 @@

    Parameters

    - sections + indexPath
    -

    The sections for the data source.

    - +

    The index path of an item.

    @@ -354,8 +670,7 @@

    Parameters

    Return Value

    -

    A new DataSource instance.

    - +

    The item at indexPath.

    @@ -365,8 +680,8 @@

    Return Value

    diff --git a/docs/Structs/Section.html b/docs/Structs/Section.html index 9cf7bd5..ae82395 100644 --- a/docs/Structs/Section.html +++ b/docs/Structs/Section.html @@ -1,7 +1,7 @@ - Section Struct Reference + Section Structure Reference @@ -11,7 +11,7 @@ - +

    JSQDataSourcesKit Docs (100% documented)

    @@ -22,7 +22,7 @@
    @@ -46,7 +46,7 @@