From 73d03c9e980a7305a07f27a0446b1db94d70c292 Mon Sep 17 00:00:00 2001 From: Dang Thai Son Date: Wed, 9 Aug 2017 18:40:38 +0700 Subject: [PATCH 1/4] Add ASBindingObserver --- .../project.pbxproj | 4 ++ .../RxASTableAnimatedDataSource.swift | 2 +- .../RxHelper/ASBindingObserver.swift | 47 +++++++++++++++++++ 3 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 Sources/DataSources/RxHelper/ASBindingObserver.swift diff --git a/RxTextureDataSources.xcodeproj/project.pbxproj b/RxTextureDataSources.xcodeproj/project.pbxproj index 263bcd5..fab0b71 100644 --- a/RxTextureDataSources.xcodeproj/project.pbxproj +++ b/RxTextureDataSources.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 57154BFF1F3B28B3008F0E38 /* ASBindingObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */; }; 57826BA01F29477000FB0414 /* RxASCollectionReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */; }; 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */; }; 57826BAA1F29491800FB0414 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA91F29491800FB0414 /* AppDelegate.swift */; }; @@ -93,6 +94,7 @@ 35CD65171E60192300AF060B /* watchOS-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-Framework.xcconfig"; sourceTree = ""; }; 35CD65181E60192300AF060B /* watchOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-StaticLibrary.xcconfig"; sourceTree = ""; }; 497271B10CB7AAE70BBDEAF0 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASBindingObserver.swift; sourceTree = ""; }; 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASCollectionReloadDataSource.swift; sourceTree = ""; }; 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASTableReloadDataSource.swift; sourceTree = ""; }; 57826BA71F29491800FB0414 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -359,6 +361,7 @@ children = ( 57E5632B1F290656002E825B /* RxHelpers.swift */, 57E5632D1F29066F002E825B /* ASDelegateProxy.swift */, + 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */, ); path = RxHelper; sourceTree = ""; @@ -609,6 +612,7 @@ 57E563571F290FCD002E825B /* Array+Extensions.swift in Sources */, 57E563491F290718002E825B /* RxASTableAnimatedDataSource.swift in Sources */, 57E563481F290718002E825B /* ASTableSectionedDataSource.swift in Sources */, + 57154BFF1F3B28B3008F0E38 /* ASBindingObserver.swift in Sources */, 57E5636A1F291A81002E825B /* ASCollectionNode+SectionViewType.swift in Sources */, 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */, 57E563651F291597002E825B /* RxASTableDelegateProxy.swift in Sources */, diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift index 6ab7ea9..fdc5e9e 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift @@ -25,7 +25,7 @@ open class RxASTableAnimatedDataSource: ASTableSe } open func tableNode(_ tableNode: ASTableNode, observedEvent: RxSwift.Event) { - UIBindingObserver(UIElement: self) { dataSource, newSections in + ASBindingObserver(UIElement: self) { dataSource, newSections in #if DEBUG self._dataSourceBound = true #endif diff --git a/Sources/DataSources/RxHelper/ASBindingObserver.swift b/Sources/DataSources/RxHelper/ASBindingObserver.swift new file mode 100644 index 0000000..d9f9804 --- /dev/null +++ b/Sources/DataSources/RxHelper/ASBindingObserver.swift @@ -0,0 +1,47 @@ +// +// ASBindingObserver.swift +// RxTextureDataSources +// +// Created by Dang Thai Son on 8/9/17. +// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// + +#if !RX_NO_MODULE + import RxSwift +#endif + +public class ASBindingObserver : ObserverType where UIElementType: AnyObject { + public typealias E = Value + + weak var UIElement: UIElementType? + + let binding: (UIElementType, Value) -> Void + + /// Initializes `ViewBindingObserver` using + public init(UIElement: UIElementType, binding: @escaping (UIElementType, Value) -> Void) { + self.UIElement = UIElement + self.binding = binding + } + + /// Binds next element to owner view as described in `binding`. + public func on(_ event: Event) { + + switch event { + case .next(let element): + if let view = self.UIElement { + binding(view, element) + } + case .error(let error): + bindingErrorToInterface(error) + case .completed: + break + } + } + + /// Erases type of observer. + /// + /// - returns: type erased observer. + public func asObserver() -> AnyObserver { + return AnyObserver(eventHandler: on) + } +} From 946c18ed98e25ecefecc494e2048fc1ac13e1372 Mon Sep 17 00:00:00 2001 From: Dang Thai Son Date: Fri, 11 Aug 2017 01:10:34 +0700 Subject: [PATCH 2/4] Remove beginBatchFetch --- .../RxProxies/RxASCollectionDelegateProxy.swift | 11 ----------- .../RxProxies/RxASTableDelegateProxy.swift | 11 ----------- 2 files changed, 22 deletions(-) diff --git a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift index d449b67..84b5e13 100644 --- a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift +++ b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift @@ -47,17 +47,6 @@ public extension Reactive where Base: ASCollectionNode { return RxASCollectionDelegateProxy.proxyForObject(base) } - var beginBatchFetch: ControlEvent { - - let source = self.delegate - .methodInvoked(#selector(ASCollectionDelegate.collectionNode(_:willBeginBatchFetchWith:))) - .map { data in - return try castOrThrow(ASBatchContext.self, data[1]) - } - - return ControlEvent(events: source) - } - /// Reactive wrapper for `delegate` message `collectionNode(_:didSelectItemAtIndexPath:)`. var itemSelected: ControlEvent { let source = delegate.methodInvoked(#selector(ASCollectionDelegate.collectionNode(_:didSelectItemAt:))) diff --git a/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift b/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift index 2e8263e..56fceaa 100644 --- a/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift +++ b/Sources/DataSources/RxProxies/RxASTableDelegateProxy.swift @@ -41,17 +41,6 @@ public extension Reactive where Base: ASTableNode { return RxASTableDelegateProxy.proxyForObject(base) } - var beginBatchFetch: ControlEvent { - - let source = self.delegate - .methodInvoked(#selector(ASTableDelegate.tableNode(_:willBeginBatchFetchWith:))) - .map { data in - return try castOrThrow(ASBatchContext.self, data[1]) - } - - return ControlEvent(events: source) - } - // Event /** Reactive wrapper for `delegate` message `tableNode:didSelectRowAtIndexPath:`. From 96e4269495e66c310c1a3d2cf61e2c3c79cf30b4 Mon Sep 17 00:00:00 2001 From: Dang Thai Son Date: Mon, 14 Aug 2017 00:37:57 +0700 Subject: [PATCH 3/4] Use Differentiator --- Cartfile | 2 +- Cartfile.resolved | 2 +- Carthage/Checkouts/RxDataSources | 2 +- Podfile | 2 +- Podfile.lock | 22 +++++++++----- RxTextureDataSources.podspec | 2 +- .../project.pbxproj | 29 ++++++++++++++++--- .../ASCollectionNode+SectionViewType.swift | 2 +- .../ASCollectionSectionedDataSource.swift | 2 +- .../RxASCollectionAnimatedDataSource.swift | 2 +- .../RxASCollectionReloadDataSource.swift | 2 +- .../ASTableNode+SectionedViewType.swift | 2 +- .../ASTableSectionedDataSource.swift | 2 +- .../RxASTableReloadDataSource.swift | 2 +- 14 files changed, 52 insertions(+), 23 deletions(-) diff --git a/Cartfile b/Cartfile index fc79e4f..c2549b2 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ github "ReactiveX/RxSwift" ~> 3.4 -github "RxSwiftCommunity/RxDataSources" "1.0.4" +github "RxSwiftCommunity/RxDataSources" "master" github "texturegroup/texture" diff --git a/Cartfile.resolved b/Cartfile.resolved index 2e0ce17..7d7254f 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,6 +1,6 @@ git "https://chromium.googlesource.com/webm/libwebp" "v0.5.1" github "ReactiveX/RxSwift" "3.6.1" -github "RxSwiftCommunity/RxDataSources" "1.0.4" +github "RxSwiftCommunity/RxDataSources" "d598b9a12b77971e14d3e6aaee41418ac842445d" github "pinterest/PINCache" "3.0.1-beta.5" github "pinterest/PINOperation" "1.0.3" github "pinterest/PINRemoteImage" "3.0.0-beta.11" diff --git a/Carthage/Checkouts/RxDataSources b/Carthage/Checkouts/RxDataSources index edd39e2..d598b9a 160000 --- a/Carthage/Checkouts/RxDataSources +++ b/Carthage/Checkouts/RxDataSources @@ -1 +1 @@ -Subproject commit edd39e2667e2c0f9e55d0456638934dbe1862c52 +Subproject commit d598b9a12b77971e14d3e6aaee41418ac842445d diff --git a/Podfile b/Podfile index fc9b6d2..70d00ad 100644 --- a/Podfile +++ b/Podfile @@ -8,7 +8,7 @@ target 'Example' do pod 'Texture' pod 'RxSwift' pod 'RxCocoa' - pod 'RxDataSources' + pod 'Differentiator', :git =>'https://github.com/RxSwiftCommunity/RxDataSources.git', :branch => 'master' end diff --git a/Podfile.lock b/Podfile.lock index 9d3fd63..1413bfe 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,4 +1,5 @@ PODS: + - Differentiator (2.0.0) - PINCache (3.0.1-beta.5): - PINCache/Arc-exception-safe (= 3.0.1-beta.5) - PINCache/Core (= 3.0.1-beta.5) @@ -16,9 +17,6 @@ PODS: - PINRemoteImage/Core - RxCocoa (3.6.1): - RxSwift (~> 3.6) - - RxDataSources (1.0.4): - - RxCocoa (~> 3.0) - - RxSwift (~> 3.0) - RxSwift (3.6.1) - Texture (2.3.4): - Texture/PINRemoteImage (= 2.3.4) @@ -29,20 +27,30 @@ PODS: - Texture/Core DEPENDENCIES: + - Differentiator (from `https://github.com/RxSwiftCommunity/RxDataSources.git`, branch `master`) - RxCocoa - - RxDataSources - RxSwift - Texture +EXTERNAL SOURCES: + Differentiator: + :branch: master + :git: https://github.com/RxSwiftCommunity/RxDataSources.git + +CHECKOUT OPTIONS: + Differentiator: + :commit: d598b9a12b77971e14d3e6aaee41418ac842445d + :git: https://github.com/RxSwiftCommunity/RxDataSources.git + SPEC CHECKSUMS: + Differentiator: 43cd6e202e3ac1ca60b4cc83364584c76e9d2d7f PINCache: 98e7b1ef782824ad231ade51987c218b758c30d8 PINOperation: ac23db44796d4a564ecf9b5ea7163510f579b71d PINRemoteImage: d71988f11914a050d6d4cf51efc4ad1de8c0a9d8 RxCocoa: 84a08739ab186248c7f31ce4ee92d6f8a947d690 - RxDataSources: b3389acc5fe2eefb8fcd81a2b76a876ad08bc82a RxSwift: f9de85ea20cd2f7716ee5409fc13523dc638e4e4 Texture: 8cf0872fe33328c20d7e6c1fcbf1f23a82162f2f -PODFILE CHECKSUM: c6e55f516b1e6974577295ead732c9596e95383a +PODFILE CHECKSUM: 9a8f14c1e9a4c9555d90e8174ad8f9ad8f024f6a -COCOAPODS: 1.2.1 +COCOAPODS: 1.3.0 diff --git a/RxTextureDataSources.podspec b/RxTextureDataSources.podspec index 63bec40..9a3e3ef 100644 --- a/RxTextureDataSources.podspec +++ b/RxTextureDataSources.podspec @@ -14,7 +14,7 @@ Pod::Spec.new do |s| s.framework = "Foundation" s.dependency 'RxSwift', '~> 3.4' s.dependency 'RxCocoa', '~> 3.4' - s.dependency 'RxDataSources', '~> 1.0' + s.dependency 'Differentiator', '~> 2.0' s.dependency 'Texture', '~> 2.0' end diff --git a/RxTextureDataSources.xcodeproj/project.pbxproj b/RxTextureDataSources.xcodeproj/project.pbxproj index fab0b71..8bd98cd 100644 --- a/RxTextureDataSources.xcodeproj/project.pbxproj +++ b/RxTextureDataSources.xcodeproj/project.pbxproj @@ -547,13 +547,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-RxTextureDataSources-iOS-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; B17F3E75B8B24C7AC6478D18 /* [CP] Copy Pods Resources */ = { @@ -577,13 +580,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-Example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; F287AD5C5D01FE15DAF7988F /* [CP] Embed Pods Frameworks */ = { @@ -592,9 +598,24 @@ files = ( ); inputPaths = ( + "${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/Differentiator/Differentiator.framework", + "${BUILT_PRODUCTS_DIR}/PINCache/PINCache.framework", + "${BUILT_PRODUCTS_DIR}/PINOperation/PINOperation.framework", + "${BUILT_PRODUCTS_DIR}/PINRemoteImage/PINRemoteImage.framework", + "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework", + "${BUILT_PRODUCTS_DIR}/RxSwift/RxSwift.framework", + "${BUILT_PRODUCTS_DIR}/Texture/AsyncDisplayKit.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Differentiator.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINCache.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINOperation.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PINRemoteImage.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/AsyncDisplayKit.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -797,7 +818,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/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 = me.dangthaison91.rxtexture.RxTextureDataSources; PRODUCT_NAME = RxTextureDataSources; @@ -817,7 +838,7 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; INFOPLIST_FILE = "$(SRCROOT)/Sources/Supporting Files/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 = me.dangthaison91.rxtexture.RxTextureDataSources; PRODUCT_NAME = RxTextureDataSources; diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift index 72e5cf0..e8f2810 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift @@ -9,7 +9,7 @@ import Foundation import UIKit import AsyncDisplayKit -import RxDataSources +import Differentiator extension ASCollectionNode: SectionedViewType { diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift index 62365f7..288e2af 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift @@ -10,7 +10,7 @@ import Foundation import AsyncDisplayKit #if !RX_NO_MODULE import RxCocoa - import RxDataSources + import Differentiator #endif open class _ASCollectionSectionedDataSource: NSObject, ASCollectionDataSource { diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift index 63c87f2..e10bef6 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift @@ -10,7 +10,7 @@ import Foundation import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator open class RxASCollectionAnimatedDataSource: ASCollectionSectionedDataSource, RxASCollectionDataSourceType { diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift index 26fb4df..e0e2d98 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift @@ -11,7 +11,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxSwift import RxCocoa - import RxDataSources + import Differentiator #endif open class RxASCollectionReloadDataSource: ASCollectionSectionedDataSource, RxASCollectionDataSourceType { diff --git a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift index 9db729e..fa7b798 100644 --- a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift +++ b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift @@ -8,7 +8,7 @@ import Foundation import AsyncDisplayKit -import RxDataSources +import Differentiator extension ASTableNode: SectionedViewType { diff --git a/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift b/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift index 08f8042..18901c2 100644 --- a/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/ASTableSectionedDataSource.swift @@ -11,7 +11,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxCocoa - import RxDataSources + import Differentiator #endif open class _ASTableSectionedDataSource: NSObject, ASTableDataSource { diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift index 44f1724..1a925fc 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift @@ -14,7 +14,7 @@ import AsyncDisplayKit #if !RX_NO_MODULE import RxSwift import RxCocoa - import RxDataSources + import Differentiator #endif open class RxASTableReloadDataSource: ASTableSectionedDataSource, RxASTableDataSourceType { From 9db87b1bda06b4030d03dd467466751af455963f Mon Sep 17 00:00:00 2001 From: Dang Thai Son Date: Sat, 9 Sep 2017 22:08:22 +0700 Subject: [PATCH 4/4] Replace RxDataSources by RxDataSources/Differentiator --- Cartfile | 4 +- Cartfile.resolved | 4 +- Carthage/Checkouts/RxDataSources | 2 +- Carthage/Checkouts/texture | 2 +- Example/ViewController.swift | 2 +- Podfile | 10 +- Podfile.lock | 28 ++--- Readme.md | 20 +-- .../Contents.swift | 0 .../contents.xcplayground | 0 ...Sources.podspec => RxASDataSources.podspec | 10 +- .../project.pbxproj | 119 +++++++----------- .../xcshareddata/xcschemes/Example.xcscheme | 8 +- .../xcschemes/RxASDataSources.xcscheme | 18 +-- .../ASCollectionNode+SectionViewType.swift | 12 +- .../ASCollectionNode+rx.swift | 2 +- .../ASCollectionSectionedDataSource.swift | 2 +- .../RxASCollectionAnimatedDataSource.swift | 6 +- .../RxASCollectionDataSourceType.swift | 2 +- .../RxASCollectionReloadDataSource.swift | 2 +- .../ASTableNode+SectionedViewType.swift | 12 +- .../RxASTableAnimatedDataSource.swift | 23 +++- .../RxASTableReloadDataSource.swift | 2 +- Sources/DataSources/Array+Extensions.swift | 4 +- .../RxHelper/ASBindingObserver.swift | 47 ------- Sources/DataSources/RxHelper/RxHelpers.swift | 2 +- .../RxASCollectionDataSourceProxy.swift | 2 +- .../RxASCollectionDelegateProxy.swift | 2 +- ...ft => SectionedNodeType+BatchUpdate.swift} | 19 ++- Sources/Supporting Files/Info.plist | 2 + Sources/Supporting Files/RxASDataSources.h | 17 +++ .../Supporting Files/RxTextureDataSources.h | 17 --- Tests/RxTextureDataSourcesSpec.swift | 12 +- 33 files changed, 167 insertions(+), 247 deletions(-) rename {RxTextureDataSources.playground => RxASDataSources.playground}/Contents.swift (100%) rename {RxTextureDataSources.playground => RxASDataSources.playground}/contents.xcplayground (100%) rename RxTextureDataSources.podspec => RxASDataSources.podspec (61%) rename {RxTextureDataSources.xcodeproj => RxASDataSources.xcodeproj}/project.pbxproj (90%) rename {RxTextureDataSources.xcodeproj => RxASDataSources.xcodeproj}/xcshareddata/xcschemes/Example.xcscheme (90%) rename RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme => RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme (83%) delete mode 100644 Sources/DataSources/RxHelper/ASBindingObserver.swift rename Sources/DataSources/{SectionedViewType+BatchUpdate.swift => SectionedNodeType+BatchUpdate.swift} (61%) create mode 100644 Sources/Supporting Files/RxASDataSources.h delete mode 100644 Sources/Supporting Files/RxTextureDataSources.h diff --git a/Cartfile b/Cartfile index c2549b2..3a2ed11 100644 --- a/Cartfile +++ b/Cartfile @@ -1,3 +1,3 @@ -github "ReactiveX/RxSwift" ~> 3.4 -github "RxSwiftCommunity/RxDataSources" "master" + +github "RxSwiftCommunity/RxDataSources" github "texturegroup/texture" diff --git a/Cartfile.resolved b/Cartfile.resolved index 7d7254f..c62fa3a 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,7 +1,7 @@ git "https://chromium.googlesource.com/webm/libwebp" "v0.5.1" github "ReactiveX/RxSwift" "3.6.1" -github "RxSwiftCommunity/RxDataSources" "d598b9a12b77971e14d3e6aaee41418ac842445d" +github "RxSwiftCommunity/RxDataSources" "2.0.2" github "pinterest/PINCache" "3.0.1-beta.5" github "pinterest/PINOperation" "1.0.3" github "pinterest/PINRemoteImage" "3.0.0-beta.11" -github "texturegroup/texture" "2.3.4" +github "texturegroup/texture" "2.4" diff --git a/Carthage/Checkouts/RxDataSources b/Carthage/Checkouts/RxDataSources index d598b9a..00004c7 160000 --- a/Carthage/Checkouts/RxDataSources +++ b/Carthage/Checkouts/RxDataSources @@ -1 +1 @@ -Subproject commit d598b9a12b77971e14d3e6aaee41418ac842445d +Subproject commit 00004c70df2f7a0db1253c65cda1ce5543cb1fdf diff --git a/Carthage/Checkouts/texture b/Carthage/Checkouts/texture index 5d69da3..3e55f2f 160000 --- a/Carthage/Checkouts/texture +++ b/Carthage/Checkouts/texture @@ -1 +1 @@ -Subproject commit 5d69da3b2cd7237907455a9e9ffd0c3ab4a5d478 +Subproject commit 3e55f2f6d17a96fe8a21a72b955827f7fa24072d diff --git a/Example/ViewController.swift b/Example/ViewController.swift index 2687a97..e37ce64 100644 --- a/Example/ViewController.swift +++ b/Example/ViewController.swift @@ -10,7 +10,7 @@ import UIKit import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator struct NumberSection { var header: String diff --git a/Podfile b/Podfile index 70d00ad..f6ef355 100644 --- a/Podfile +++ b/Podfile @@ -8,14 +8,6 @@ target 'Example' do pod 'Texture' pod 'RxSwift' pod 'RxCocoa' - pod 'Differentiator', :git =>'https://github.com/RxSwiftCommunity/RxDataSources.git', :branch => 'master' - -end - -target 'RxTextureDataSources-iOS' do - # Comment the next line if you're not using Swift and don't want to use dynamic frameworks - use_frameworks! - - # Pods for RxTextureDataSources-iOS + pod 'Differentiator' end diff --git a/Podfile.lock b/Podfile.lock index 1413bfe..b2c58e6 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,5 +1,5 @@ PODS: - - Differentiator (2.0.0) + - Differentiator (2.0.2) - PINCache (3.0.1-beta.5): - PINCache/Arc-exception-safe (= 3.0.1-beta.5) - PINCache/Core (= 3.0.1-beta.5) @@ -18,39 +18,29 @@ PODS: - RxCocoa (3.6.1): - RxSwift (~> 3.6) - RxSwift (3.6.1) - - Texture (2.3.4): - - Texture/PINRemoteImage (= 2.3.4) - - Texture/Core (2.3.4) - - Texture/PINRemoteImage (2.3.4): + - Texture (2.4): + - Texture/PINRemoteImage (= 2.4) + - Texture/Core (2.4) + - Texture/PINRemoteImage (2.4): - PINRemoteImage/iOS (= 3.0.0-beta.11) - PINRemoteImage/PINCache - Texture/Core DEPENDENCIES: - - Differentiator (from `https://github.com/RxSwiftCommunity/RxDataSources.git`, branch `master`) + - Differentiator - RxCocoa - RxSwift - Texture -EXTERNAL SOURCES: - Differentiator: - :branch: master - :git: https://github.com/RxSwiftCommunity/RxDataSources.git - -CHECKOUT OPTIONS: - Differentiator: - :commit: d598b9a12b77971e14d3e6aaee41418ac842445d - :git: https://github.com/RxSwiftCommunity/RxDataSources.git - SPEC CHECKSUMS: - Differentiator: 43cd6e202e3ac1ca60b4cc83364584c76e9d2d7f + Differentiator: caa9b3957981a2ac8e6b2eac8a676af461caa604 PINCache: 98e7b1ef782824ad231ade51987c218b758c30d8 PINOperation: ac23db44796d4a564ecf9b5ea7163510f579b71d PINRemoteImage: d71988f11914a050d6d4cf51efc4ad1de8c0a9d8 RxCocoa: 84a08739ab186248c7f31ce4ee92d6f8a947d690 RxSwift: f9de85ea20cd2f7716ee5409fc13523dc638e4e4 - Texture: 8cf0872fe33328c20d7e6c1fcbf1f23a82162f2f + Texture: a5526314780eab35f642d956627f09316b9514e8 -PODFILE CHECKSUM: 9a8f14c1e9a4c9555d90e8174ad8f9ad8f024f6a +PODFILE CHECKSUM: df58f9cead49c76984203f4eab4ded96071c8990 COCOAPODS: 1.3.0 diff --git a/Readme.md b/Readme.md index cb772a0..bc3a289 100644 --- a/Readme.md +++ b/Readme.md @@ -1,10 +1,10 @@ -## RxTextureDataSources +## RxASDataSources -[![Platforms](https://img.shields.io/cocoapods/p/RxTextureDataSources.svg)](https://cocoapods.org/pods/RxTextureDataSources) -[![License](https://img.shields.io/cocoapods/l/RxTextureDataSources.svg)](https://raw.githubusercontent.com/RxSwiftCommunity/RxTextureDataSources/master/LICENSE) +[![Platforms](https://img.shields.io/cocoapods/p/RxASDataSources.svg)](https://cocoapods.org/pods/RxASDataSources) +[![License](https://img.shields.io/cocoapods/l/RxASDataSources.svg)](https://raw.githubusercontent.com/dangthaison91/RxASDataSources/master/LICENSE) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) -[![CocoaPods compatible](https://img.shields.io/cocoapods/v/RxTextureDataSources.svg)](https://cocoapods.org/pods/RxTextureDataSources) -[![Travis](https://img.shields.io/travis/RxSwiftCommunity/RxTextureDataSources/master.svg)](https://travis-ci.org/RxSwiftCommunity/RxTextureDataSources/branches) +[![CocoaPods compatible](https://img.shields.io/cocoapods/v/RxASDataSources.svg)](https://cocoapods.org/pods/RxASDataSources) +[![Travis](https://img.shields.io/travis/dangthaison91/RxASDataSources/master.svg)](https://travis-ci.org/dangthaison91/RxASDataSources/branches) [RxDataSources](https://github.com/RxSwiftCommunity/RxDataSources) for AsyncDisplayKit/Texture: ASTableNode & ASCollectionNode. @@ -22,10 +22,10 @@ ### CocoaPods -To integrate RxTextureDataSources into your Xcode project using CocoaPods, specify it in your `Podfile`: +To integrate RxASDataSources into your Xcode project using CocoaPods, specify it in your `Podfile`: ```ruby -pod 'RxTextureDataSources', '~> 0.1' +pod 'RxASDataSources', '~> 0.1' ``` Then, run the following command: @@ -36,14 +36,14 @@ $ pod install ### Carthage -To integrate RxTextureDataSources into your Xcode project using Carthage, specify it in your `Cartfile`: +To integrate RxASDataSources into your Xcode project using Carthage, specify it in your `Cartfile`: ```ogdl -github "dangthaison91/RxTextureDataSources" ~> 0.1 +github "dangthaison91/RxASDataSources" ~> 0.1 ``` ## Usage ## License -RxTextureDataSources is released under the MIT license. See [LICENSE](https://github.com/RxSwiftCommunity/RxTextureDataSources/blob/master/LICENSE) for details. +RxASDataSources is released under the MIT license. See [LICENSE](https://github.com/RxSwiftCommunity/RxTextureDataSources/blob/master/LICENSE) for details. diff --git a/RxTextureDataSources.playground/Contents.swift b/RxASDataSources.playground/Contents.swift similarity index 100% rename from RxTextureDataSources.playground/Contents.swift rename to RxASDataSources.playground/Contents.swift diff --git a/RxTextureDataSources.playground/contents.xcplayground b/RxASDataSources.playground/contents.xcplayground similarity index 100% rename from RxTextureDataSources.playground/contents.xcplayground rename to RxASDataSources.playground/contents.xcplayground diff --git a/RxTextureDataSources.podspec b/RxASDataSources.podspec similarity index 61% rename from RxTextureDataSources.podspec rename to RxASDataSources.podspec index 9a3e3ef..a3a1d85 100644 --- a/RxTextureDataSources.podspec +++ b/RxASDataSources.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| - s.name = 'RxTextureDataSources' - s.version = '0.1.4' + s.name = 'RxASDataSources' + s.version = '0.2' s.license = { :type => "MIT", :file => "LICENSE" } - s.summary = 'RxDataSource for AsyncDisplayKit/Texture view containers' - s.homepage = 'https://github.com/dangthaison91/RxTextureDataSources' + s.summary = 'RxDataSources for AsyncDisplayKit/Texture ASTableNode/ASCollectionNode' + s.homepage = 'https://github.com/dangthaison91/RxASDataSources' s.social_media_url = 'https://twitter.com/dangthaison91' s.authors = { "Dang Thai Son" => "dangthaison.91@gmail.com" } - s.source = { :git => "https://github.com/dangthaison91/RxTextureDataSources.git", :tag => s.version.to_s } + s.source = { :git => "https://github.com/dangthaison91/RxASDataSources.git", :tag => s.version.to_s } s.platforms = { :ios => "8.0" } s.requires_arc = true diff --git a/RxTextureDataSources.xcodeproj/project.pbxproj b/RxASDataSources.xcodeproj/project.pbxproj similarity index 90% rename from RxTextureDataSources.xcodeproj/project.pbxproj rename to RxASDataSources.xcodeproj/project.pbxproj index 8bd98cd..0cf989e 100644 --- a/RxTextureDataSources.xcodeproj/project.pbxproj +++ b/RxASDataSources.xcodeproj/project.pbxproj @@ -7,7 +7,10 @@ objects = { /* Begin PBXBuildFile section */ - 57154BFF1F3B28B3008F0E38 /* ASBindingObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */; }; + 574265651F64245D0059BD8F /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */; }; + 574265661F64246E0059BD8F /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563051F28FEBD002E825B /* RxSwift.framework */; }; + 574265671F6424830059BD8F /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563071F28FEC4002E825B /* RxCocoa.framework */; }; + 574265691F6424BE0059BD8F /* Differentiator.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 574265681F6424BE0059BD8F /* Differentiator.framework */; }; 57826BA01F29477000FB0414 /* RxASCollectionReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */; }; 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */; }; 57826BAA1F29491800FB0414 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA91F29491800FB0414 /* AppDelegate.swift */; }; @@ -34,14 +37,11 @@ 57826BCB1F294DD600FB0414 /* ASTableSectionedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563411F290718002E825B /* ASTableSectionedDataSource.swift */; }; 57826BCC1F294DD600FB0414 /* RxASTableDataSourceType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563441F290718002E825B /* RxASTableDataSourceType.swift */; }; 57826BCD1F294DD600FB0414 /* RxASTableAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563421F290718002E825B /* RxASTableAnimatedDataSource.swift */; }; - 57826BCF1F294DD600FB0414 /* SectionedViewType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */; }; + 57826BCF1F294DD600FB0414 /* SectionedNodeType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */; }; 57826BD01F294DD600FB0414 /* Array+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563561F290FCD002E825B /* Array+Extensions.swift */; }; 57826BD11F294E4F00FB0414 /* RxASTableReloadDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */; }; - 57A650101F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */; }; - 57DE26A41F1C5B5600EC4CF6 /* RxTextureDataSources.h in Headers */ = {isa = PBXBuildFile; fileRef = 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 57E563061F28FEBD002E825B /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563051F28FEBD002E825B /* RxSwift.framework */; }; - 57E563081F28FEC4002E825B /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563071F28FEC4002E825B /* RxCocoa.framework */; }; - 57E5630A1F28FECF002E825B /* RxDataSources.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563091F28FECF002E825B /* RxDataSources.framework */; }; + 57A650101F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */; }; + 57DE26A41F1C5B5600EC4CF6 /* RxASDataSources.h in Headers */ = {isa = PBXBuildFile; fileRef = 57A650211F1BF309005C7A79 /* RxASDataSources.h */; settings = {ATTRIBUTES = (Public, ); }; }; 57E5632C1F290656002E825B /* RxHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5632B1F290656002E825B /* RxHelpers.swift */; }; 57E5632E1F29066F002E825B /* ASDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5632D1F29066F002E825B /* ASDelegateProxy.swift */; }; 57E563481F290718002E825B /* ASTableSectionedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563411F290718002E825B /* ASTableSectionedDataSource.swift */; }; @@ -55,17 +55,15 @@ 57E563641F291597002E825B /* RxASTableDataSourceProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563601F291597002E825B /* RxASTableDataSourceProxy.swift */; }; 57E563651F291597002E825B /* RxASTableDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563611F291597002E825B /* RxASTableDelegateProxy.swift */; }; 57E563671F29176A002E825B /* RxASCollectionAnimatedDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563661F29176A002E825B /* RxASCollectionAnimatedDataSource.swift */; }; - 57E563681F2917C6002E825B /* AsyncDisplayKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */; }; 57E5636A1F291A81002E825B /* ASCollectionNode+SectionViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E563691F291A81002E825B /* ASCollectionNode+SectionViewType.swift */; }; 57E5636C1F291ACC002E825B /* ASTableNode+SectionedViewType.swift in Sources */ = {isa = PBXBuildFile; fileRef = 57E5636B1F291ACC002E825B /* ASTableNode+SectionedViewType.swift */; }; 6A520ADB1831906E0BCC284C /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 497271B10CB7AAE70BBDEAF0 /* Pods_Example.framework */; }; - 97DBB84BC0E3B34CABA1EC1C /* Pods_RxTextureDataSources_iOS.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D6F346FB9800367EA3FFEA5 /* Pods_RxTextureDataSources_iOS.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 1D239F80A6333F998A90AF83 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; 342A8012D316E430EE7D864E /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; - 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxTextureDataSources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 3549BB211DA389CD00C63030 /* RxASDataSources.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RxASDataSources.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 3549BB581DA38A8800C63030 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 3549BB8A1DA38C0A00C63030 /* RxTextureDataSourcesSpec.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxTextureDataSourcesSpec.swift; sourceTree = ""; }; 35CD64E81E60192300AF060B /* Common.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Common.xcconfig; sourceTree = ""; }; @@ -94,7 +92,7 @@ 35CD65171E60192300AF060B /* watchOS-Framework.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-Framework.xcconfig"; sourceTree = ""; }; 35CD65181E60192300AF060B /* watchOS-StaticLibrary.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = "watchOS-StaticLibrary.xcconfig"; sourceTree = ""; }; 497271B10CB7AAE70BBDEAF0 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ASBindingObserver.swift; sourceTree = ""; }; + 574265681F6424BE0059BD8F /* Differentiator.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Differentiator.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/Differentiator.framework"; sourceTree = ""; }; 57826B9F1F29477000FB0414 /* RxASCollectionReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASCollectionReloadDataSource.swift; sourceTree = ""; }; 57826BA11F29485500FB0414 /* RxASTableReloadDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RxASTableReloadDataSource.swift; sourceTree = ""; }; 57826BA71F29491800FB0414 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -110,9 +108,9 @@ 57826BD61F29505800FB0414 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-iphoneos/RxSwift.framework"; sourceTree = ""; }; 57826BD81F29506000FB0414 /* RxDataSources.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxDataSources.framework; path = "Carthage/Checkouts/RxDataSources/build/Debug-iphoneos/RxDataSources.framework"; sourceTree = ""; }; 57826BDC1F29509700FB0414 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "Carthage/Checkouts/RxSwift/build/Debug-iphoneos/RxCocoa.framework"; sourceTree = ""; }; - 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SectionedViewType+BatchUpdate.swift"; sourceTree = ""; }; + 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "SectionedNodeType+BatchUpdate.swift"; sourceTree = ""; }; 57A650201F1BF309005C7A79 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxTextureDataSources.h; sourceTree = ""; }; + 57A650211F1BF309005C7A79 /* RxASDataSources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RxASDataSources.h; sourceTree = ""; }; 57E563031F28FEB3002E825B /* AsyncDisplayKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AsyncDisplayKit.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/AsyncDisplayKit.framework"; sourceTree = ""; }; 57E563051F28FEBD002E825B /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/RxSwift.framework"; sourceTree = ""; }; 57E563071F28FEC4002E825B /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = "../../../../Users/sondt/Library/Developer/Xcode/DerivedData/RxTextureDataSources-hjacuybyhkyzareukzfcxgvmvvmv/Build/Products/Debug-iphonesimulator/RxCocoa.framework"; sourceTree = ""; }; @@ -140,11 +138,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 57E563681F2917C6002E825B /* AsyncDisplayKit.framework in Frameworks */, - 57E5630A1F28FECF002E825B /* RxDataSources.framework in Frameworks */, - 57E563081F28FEC4002E825B /* RxCocoa.framework in Frameworks */, - 57E563061F28FEBD002E825B /* RxSwift.framework in Frameworks */, - 97DBB84BC0E3B34CABA1EC1C /* Pods_RxTextureDataSources_iOS.framework in Frameworks */, + 574265691F6424BE0059BD8F /* Differentiator.framework in Frameworks */, + 574265671F6424830059BD8F /* RxCocoa.framework in Frameworks */, + 574265661F64246E0059BD8F /* RxSwift.framework in Frameworks */, + 574265651F64245D0059BD8F /* AsyncDisplayKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -175,7 +172,7 @@ 3549BB061DA387DB00C63030 /* Products */ = { isa = PBXGroup; children = ( - 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */, + 3549BB211DA389CD00C63030 /* RxASDataSources.framework */, 57826BA71F29491800FB0414 /* Example.app */, ); name = Products; @@ -210,6 +207,7 @@ 357D954B1DA3F2B400AEC55F /* Frameworks */ = { isa = PBXGroup; children = ( + 574265681F6424BE0059BD8F /* Differentiator.framework */, 57826BDC1F29509700FB0414 /* RxCocoa.framework */, 57826BD81F29506000FB0414 /* RxDataSources.framework */, 57826BD61F29505800FB0414 /* RxSwift.framework */, @@ -341,7 +339,7 @@ 57E5632A1F290649002E825B /* RxHelper */, 57E5633E1F290718002E825B /* ASCollectionNode+Rx */, 57E5633F1F290718002E825B /* ASTableNode+Rx */, - 57A64FFD1F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift */, + 57A64FFD1F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift */, 57E563561F290FCD002E825B /* Array+Extensions.swift */, ); path = DataSources; @@ -351,7 +349,7 @@ isa = PBXGroup; children = ( 57A650201F1BF309005C7A79 /* Info.plist */, - 57A650211F1BF309005C7A79 /* RxTextureDataSources.h */, + 57A650211F1BF309005C7A79 /* RxASDataSources.h */, ); path = "Supporting Files"; sourceTree = ""; @@ -361,7 +359,6 @@ children = ( 57E5632B1F290656002E825B /* RxHelpers.swift */, 57E5632D1F29066F002E825B /* ASDelegateProxy.swift */, - 57154BFE1F3B28B3008F0E38 /* ASBindingObserver.swift */, ); path = RxHelper; sourceTree = ""; @@ -419,31 +416,29 @@ isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 57DE26A41F1C5B5600EC4CF6 /* RxTextureDataSources.h in Headers */, + 57DE26A41F1C5B5600EC4CF6 /* RxASDataSources.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 3549BB201DA389CD00C63030 /* RxTextureDataSources-iOS */ = { + 3549BB201DA389CD00C63030 /* RxASDataSources */ = { isa = PBXNativeTarget; - buildConfigurationList = 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxTextureDataSources-iOS" */; + buildConfigurationList = 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxASDataSources" */; buildPhases = ( - A2CD7C478558742C975F7F45 /* [CP] Check Pods Manifest.lock */, 3549BB1C1DA389CD00C63030 /* Sources */, 3549BB1D1DA389CD00C63030 /* Frameworks */, 3549BB1E1DA389CD00C63030 /* Headers */, 3549BB1F1DA389CD00C63030 /* Resources */, - 9AD5473C058549D406CBDB88 /* [CP] Copy Pods Resources */, ); buildRules = ( ); dependencies = ( ); - name = "RxTextureDataSources-iOS"; + name = RxASDataSources; productName = "RxTextureDataSources-iOS"; - productReference = 3549BB211DA389CD00C63030 /* RxTextureDataSources.framework */; + productReference = 3549BB211DA389CD00C63030 /* RxASDataSources.framework */; productType = "com.apple.product-type.framework"; }; 57826BA61F29491800FB0414 /* Example */ = { @@ -486,7 +481,7 @@ }; }; }; - buildConfigurationList = 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxTextureDataSources" */; + buildConfigurationList = 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxASDataSources" */; compatibilityVersion = "Xcode 8.0"; developmentRegion = English; hasScannedForEncodings = 0; @@ -499,7 +494,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 3549BB201DA389CD00C63030 /* RxTextureDataSources-iOS */, + 3549BB201DA389CD00C63030 /* RxASDataSources */, 57826BA61F29491800FB0414 /* Example */, ); }; @@ -526,39 +521,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 9AD5473C058549D406CBDB88 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-RxTextureDataSources-iOS/Pods-RxTextureDataSources-iOS-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - A2CD7C478558742C975F7F45 /* [CP] Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "${PODS_PODFILE_DIR_PATH}/Podfile.lock", - "${PODS_ROOT}/Manifest.lock", - ); - name = "[CP] Check Pods Manifest.lock"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/Pods-RxTextureDataSources-iOS-checkManifestLockResult.txt", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; - showEnvVarsInLog = 0; - }; B17F3E75B8B24C7AC6478D18 /* [CP] Copy Pods Resources */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -633,11 +595,10 @@ 57E563571F290FCD002E825B /* Array+Extensions.swift in Sources */, 57E563491F290718002E825B /* RxASTableAnimatedDataSource.swift in Sources */, 57E563481F290718002E825B /* ASTableSectionedDataSource.swift in Sources */, - 57154BFF1F3B28B3008F0E38 /* ASBindingObserver.swift in Sources */, 57E5636A1F291A81002E825B /* ASCollectionNode+SectionViewType.swift in Sources */, 57826BA21F29485500FB0414 /* RxASTableReloadDataSource.swift in Sources */, 57E563651F291597002E825B /* RxASTableDelegateProxy.swift in Sources */, - 57A650101F1BF28D005C7A79 /* SectionedViewType+BatchUpdate.swift in Sources */, + 57A650101F1BF28D005C7A79 /* SectionedNodeType+BatchUpdate.swift in Sources */, 57E5634B1F290718002E825B /* RxASTableDataSourceType.swift in Sources */, 57E5632C1F290656002E825B /* RxHelpers.swift in Sources */, 57826BBA1F2949D900FB0414 /* ASTableNode+Rx.swift in Sources */, @@ -668,7 +629,7 @@ 57826BCA1F294DD600FB0414 /* ASTableNode+SectionedViewType.swift in Sources */, 57826BC21F294DCF00FB0414 /* ASDelegateProxy.swift in Sources */, 57826BC11F294DCF00FB0414 /* RxHelpers.swift in Sources */, - 57826BCF1F294DD600FB0414 /* SectionedViewType+BatchUpdate.swift in Sources */, + 57826BCF1F294DD600FB0414 /* SectionedNodeType+BatchUpdate.swift in Sources */, 57826BD11F294E4F00FB0414 /* RxASTableReloadDataSource.swift in Sources */, 57826BCD1F294DD600FB0414 /* RxASTableAnimatedDataSource.swift in Sources */, 57826BBE1F294DC800FB0414 /* RxASCollectionDelegateProxy.swift in Sources */, @@ -820,8 +781,8 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.dangthaison91.rxtexture.RxTextureDataSources; - PRODUCT_NAME = RxTextureDataSources; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.RxASDataSources; + PRODUCT_NAME = RxASDataSources; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; @@ -840,8 +801,8 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = me.dangthaison91.rxtexture.RxTextureDataSources; - PRODUCT_NAME = RxTextureDataSources; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.RxASDataSources; + PRODUCT_NAME = RxASDataSources; SKIP_INSTALL = YES; SWIFT_VERSION = 3.0; }; @@ -853,6 +814,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = MRS6F96DBN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -860,10 +822,11 @@ "$(PROJECT_DIR)/Carthage/Checkouts/RxDataSources/build/Debug-iphoneos", ); INFOPLIST_FILE = Example/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.sondt.rxtexture-example.Example"; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.Example; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Debug; @@ -874,6 +837,7 @@ buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; DEVELOPMENT_TEAM = MRS6F96DBN; FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", @@ -881,10 +845,11 @@ "$(PROJECT_DIR)/Carthage/Checkouts/RxDataSources/build/Debug-iphoneos", ); INFOPLIST_FILE = Example/Info.plist; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "com.sondt.rxtexture-example.Example"; + PRODUCT_BUNDLE_IDENTIFIER = com.dangthaison91.Example; PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 3.0; }; name = Release; @@ -892,7 +857,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxTextureDataSources" */ = { + 3549BAFF1DA387DB00C63030 /* Build configuration list for PBXProject "RxASDataSources" */ = { isa = XCConfigurationList; buildConfigurations = ( 3549BB0B1DA387DB00C63030 /* Debug */, @@ -901,7 +866,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxTextureDataSources-iOS" */ = { + 3549BB261DA389CD00C63030 /* Build configuration list for PBXNativeTarget "RxASDataSources" */ = { isa = XCConfigurationList; buildConfigurations = ( 3549BB271DA389CD00C63030 /* Debug */, diff --git a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme similarity index 90% rename from RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme rename to RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme index 448fea1..11c2e18 100644 --- a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme +++ b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -17,7 +17,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -35,7 +35,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -58,7 +58,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -77,7 +77,7 @@ BlueprintIdentifier = "57826BA61F29491800FB0414" BuildableName = "Example.app" BlueprintName = "Example" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> diff --git a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme similarity index 83% rename from RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme rename to RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme index 0562f8b..a7dee5e 100644 --- a/RxTextureDataSources.xcodeproj/xcshareddata/xcschemes/RxTextureDataSources-iOS.xcscheme +++ b/RxASDataSources.xcodeproj/xcshareddata/xcschemes/RxASDataSources.xcscheme @@ -16,8 +16,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -35,7 +35,7 @@ BlueprintIdentifier = "3549BB601DA38ADB00C63030" BuildableName = "RxTextureDataSourcesTests-iOS.xctest" BlueprintName = "RxTextureDataSourcesTests-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -44,8 +44,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -66,8 +66,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> @@ -84,8 +84,8 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "3549BB201DA389CD00C63030" BuildableName = "RxTextureDataSources.framework" - BlueprintName = "RxTextureDataSources-iOS" - ReferencedContainer = "container:RxTextureDataSources.xcodeproj"> + BlueprintName = "RxASDataSources" + ReferencedContainer = "container:RxASDataSources.xcodeproj"> diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift index e8f2810..bf019e3 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+SectionViewType.swift @@ -1,6 +1,6 @@ // // ASCollectionNode+SectionViewType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -11,7 +11,7 @@ import UIKit import AsyncDisplayKit import Differentiator -extension ASCollectionNode: SectionedViewType { +extension ASCollectionNode: SectionedNodeType { public func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) { self.insertItems(at: paths) @@ -45,13 +45,7 @@ extension ASCollectionNode: SectionedViewType { self.reloadSections(indexSet(sections)) } - public func performBatchUpdates(_ changes: Changeset, animationConfiguration: AnimationConfiguration) { - self.performBatch(animated: true, updates: { - _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) - }, completion: nil) - } - - public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: AnimationConfiguration) { + public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) { self.performBatch(animated: animated, updates: { _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) }, completion: nil) diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift index 0d0e5ab..4ddbe21 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionNode+rx.swift @@ -1,6 +1,6 @@ // // ASCollectionNode+Rx.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift index 288e2af..f37add4 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/ASCollectionSectionedDataSource.swift @@ -1,6 +1,6 @@ // // ASCollectionSectionedDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift index e10bef6..9853f27 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionAnimatedDataSource.swift @@ -1,6 +1,6 @@ // // RxASCollectionAnimatedDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -15,7 +15,7 @@ import Differentiator open class RxASCollectionAnimatedDataSource: ASCollectionSectionedDataSource, RxASCollectionDataSourceType { public typealias Element = [S] - public var animationConfiguration = AnimationConfiguration() + public var animationConfiguration = RowAnimation() public var animated: Bool = true var dataSet = false @@ -36,7 +36,7 @@ open class RxASCollectionAnimatedDataSource: ASCo } else { let oldSections = dataSource.sectionModels do { - let differences = try differencesForSectionedView(initialSections: oldSections, finalSections: newSections) + let differences = try Diff.differencesForSectionedView(initialSections: oldSections, finalSections: newSections) for difference in differences { dataSource.setSections(difference.finalSections) diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift index e7e1bdc..5e39813 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionDataSourceType.swift @@ -1,6 +1,6 @@ // // RxASCollectionDataSourceType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift index e0e2d98..165fa3b 100644 --- a/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift +++ b/Sources/DataSources/ASCollectionNode+Rx/RxASCollectionReloadDataSource.swift @@ -1,6 +1,6 @@ // // RxASCollectionReloadDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift index fa7b798..44c83fa 100644 --- a/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift +++ b/Sources/DataSources/ASTableNode+Rx/ASTableNode+SectionedViewType.swift @@ -1,6 +1,6 @@ // // ASTableNode+SectionedViewType.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -10,7 +10,7 @@ import Foundation import AsyncDisplayKit import Differentiator -extension ASTableNode: SectionedViewType { +extension ASTableNode: SectionedNodeType { public func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) { self.insertRows(at: paths, with: animationStyle) @@ -44,13 +44,7 @@ extension ASTableNode: SectionedViewType { self.reloadSections(indexSet(sections), with: animationStyle) } - public func performBatchUpdates(_ changes: Changeset, animationConfiguration: AnimationConfiguration) { - self.performBatch(animated: true, updates: { - _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) - }, completion: nil) - } - - public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: AnimationConfiguration) { + public func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) { self.performBatch(animated: animated, updates: { _performBatchUpdates(self, changes: changes, animationConfiguration: animationConfiguration) }, completion: nil) diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift index fdc5e9e..2002453 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableAnimatedDataSource.swift @@ -10,12 +10,26 @@ import Foundation import AsyncDisplayKit import RxSwift import RxCocoa -import RxDataSources +import Differentiator + +public struct RowAnimation { + public let insertAnimation: UITableViewRowAnimation + public let reloadAnimation: UITableViewRowAnimation + public let deleteAnimation: UITableViewRowAnimation + + public init(insertAnimation: UITableViewRowAnimation = .automatic, + reloadAnimation: UITableViewRowAnimation = .automatic, + deleteAnimation: UITableViewRowAnimation = .automatic) { + self.insertAnimation = insertAnimation + self.reloadAnimation = reloadAnimation + self.deleteAnimation = deleteAnimation + } +} open class RxASTableAnimatedDataSource: ASTableSectionedDataSource, RxASTableDataSourceType { public typealias Element = [S] - public var animationConfiguration = AnimationConfiguration() + public var animationConfiguration = RowAnimation() public var animated: Bool = true var dataSet = false @@ -25,7 +39,7 @@ open class RxASTableAnimatedDataSource: ASTableSe } open func tableNode(_ tableNode: ASTableNode, observedEvent: RxSwift.Event) { - ASBindingObserver(UIElement: self) { dataSource, newSections in + UIBindingObserver(UIElement: self) { dataSource, newSections in #if DEBUG self._dataSourceBound = true #endif @@ -36,7 +50,8 @@ open class RxASTableAnimatedDataSource: ASTableSe } else { let oldSections = dataSource.sectionModels do { - let differences = try differencesForSectionedView(initialSections: oldSections, finalSections: newSections) + + let differences = try Diff.differencesForSectionedView(initialSections: oldSections, finalSections: newSections) for difference in differences { dataSource.setSections(difference.finalSections) tableNode.performBatchUpdates(difference, animated: self.animated, animationConfiguration: self.animationConfiguration) diff --git a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift index 1a925fc..a04d5ed 100644 --- a/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift +++ b/Sources/DataSources/ASTableNode+Rx/RxASTableReloadDataSource.swift @@ -1,6 +1,6 @@ // // RxASTableReloadDataSource.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/Array+Extensions.swift b/Sources/DataSources/Array+Extensions.swift index 29ba680..46ef0e6 100644 --- a/Sources/DataSources/Array+Extensions.swift +++ b/Sources/DataSources/Array+Extensions.swift @@ -1,13 +1,13 @@ // // Array+Extensions.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. // import Foundation -import RxDataSources +import Differentiator extension Array where Element: SectionModelType { mutating func moveFromSourceIndexPath(_ sourceIndexPath: IndexPath, destinationIndexPath: IndexPath) { diff --git a/Sources/DataSources/RxHelper/ASBindingObserver.swift b/Sources/DataSources/RxHelper/ASBindingObserver.swift deleted file mode 100644 index d9f9804..0000000 --- a/Sources/DataSources/RxHelper/ASBindingObserver.swift +++ /dev/null @@ -1,47 +0,0 @@ -// -// ASBindingObserver.swift -// RxTextureDataSources -// -// Created by Dang Thai Son on 8/9/17. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. -// - -#if !RX_NO_MODULE - import RxSwift -#endif - -public class ASBindingObserver : ObserverType where UIElementType: AnyObject { - public typealias E = Value - - weak var UIElement: UIElementType? - - let binding: (UIElementType, Value) -> Void - - /// Initializes `ViewBindingObserver` using - public init(UIElement: UIElementType, binding: @escaping (UIElementType, Value) -> Void) { - self.UIElement = UIElement - self.binding = binding - } - - /// Binds next element to owner view as described in `binding`. - public func on(_ event: Event) { - - switch event { - case .next(let element): - if let view = self.UIElement { - binding(view, element) - } - case .error(let error): - bindingErrorToInterface(error) - case .completed: - break - } - } - - /// Erases type of observer. - /// - /// - returns: type erased observer. - public func asObserver() -> AnyObserver { - return AnyObserver(eventHandler: on) - } -} diff --git a/Sources/DataSources/RxHelper/RxHelpers.swift b/Sources/DataSources/RxHelper/RxHelpers.swift index 571b053..4e47d49 100644 --- a/Sources/DataSources/RxHelper/RxHelpers.swift +++ b/Sources/DataSources/RxHelper/RxHelpers.swift @@ -1,6 +1,6 @@ // // RxHelpers.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/15/17. // Copyright © 2017 Dang Thai Son. All rights reserved. diff --git a/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift b/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift index b8510bc..2041463 100644 --- a/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift +++ b/Sources/DataSources/RxProxies/RxASCollectionDataSourceProxy.swift @@ -1,6 +1,6 @@ // // RxASCollectionDataSourceProxy.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift index 84b5e13..41f213b 100644 --- a/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift +++ b/Sources/DataSources/RxProxies/RxASCollectionDelegateProxy.swift @@ -1,6 +1,6 @@ // // RxASCollectionDelegateProxy.swift -// RxTextureDataSources +// RxASDataSources // // Created by Dang Thai Son on 7/27/17. // Copyright © 2017 RxSwiftCommunity. All rights reserved. diff --git a/Sources/DataSources/SectionedViewType+BatchUpdate.swift b/Sources/DataSources/SectionedNodeType+BatchUpdate.swift similarity index 61% rename from Sources/DataSources/SectionedViewType+BatchUpdate.swift rename to Sources/DataSources/SectionedNodeType+BatchUpdate.swift index 334e279..5cc999a 100644 --- a/Sources/DataSources/SectionedViewType+BatchUpdate.swift +++ b/Sources/DataSources/SectionedNodeType+BatchUpdate.swift @@ -7,7 +7,8 @@ // import Foundation -import RxDataSources +import UIKit +import Differentiator func indexSet(_ values: [Int]) -> IndexSet { let indexSet = NSMutableIndexSet() @@ -17,7 +18,21 @@ func indexSet(_ values: [Int]) -> IndexSet { return indexSet as IndexSet } -func _performBatchUpdates(_ view: V, changes: Changeset, animationConfiguration: AnimationConfiguration) { +public protocol SectionedNodeType { + func insertItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + func deleteItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + func moveItemAtIndexPath(_ from: IndexPath, to: IndexPath) + func reloadItemsAtIndexPaths(_ paths: [IndexPath], animationStyle: UITableViewRowAnimation) + + func insertSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + func deleteSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + func moveSection(_ from: Int, to: Int) + func reloadSections(_ sections: [Int], animationStyle: UITableViewRowAnimation) + + func performBatchUpdates(_ changes: Changeset, animated: Bool, animationConfiguration: RowAnimation) +} + +func _performBatchUpdates(_ view: V, changes: Changeset, animationConfiguration: RowAnimation) { typealias I = S.Item view.deleteSections(changes.deletedSections, animationStyle: .fade) diff --git a/Sources/Supporting Files/Info.plist b/Sources/Supporting Files/Info.plist index e6f4652..88a368e 100644 --- a/Sources/Supporting Files/Info.plist +++ b/Sources/Supporting Files/Info.plist @@ -4,6 +4,8 @@ CFBundleDevelopmentRegion en + CFBundleDisplayName + RxASDataSources CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIdentifier diff --git a/Sources/Supporting Files/RxASDataSources.h b/Sources/Supporting Files/RxASDataSources.h new file mode 100644 index 0000000..cf11264 --- /dev/null +++ b/Sources/Supporting Files/RxASDataSources.h @@ -0,0 +1,17 @@ +// +// RxASDataSources.h +// RxASDataSources +// +// Created by Dang Thai Son on 04/10/16. +// Copyright © 2017 RxSwiftCommunity. All rights reserved. +// + +#import + +//! Project version number for RxASDataSources. +FOUNDATION_EXPORT double RxASDataSourcesVersionNumber; + +//! Project version string for RxASDataSources. +FOUNDATION_EXPORT const unsigned char RxASDataSourcesVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Sources/Supporting Files/RxTextureDataSources.h b/Sources/Supporting Files/RxTextureDataSources.h deleted file mode 100644 index 7ae4ccb..0000000 --- a/Sources/Supporting Files/RxTextureDataSources.h +++ /dev/null @@ -1,17 +0,0 @@ -// -// RxTextureDataSources.h -// RxTextureDataSources -// -// Created by Dang Thai Son on 04/10/16. -// Copyright © 2017 RxSwiftCommunity. All rights reserved. -// - -#import - -//! Project version number for RxTextureDataSources. -FOUNDATION_EXPORT double RxTextureDataSourcesVersionNumber; - -//! Project version string for RxTextureDataSources. -FOUNDATION_EXPORT const unsigned char RxTextureDataSourcesVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like #import diff --git a/Tests/RxTextureDataSourcesSpec.swift b/Tests/RxTextureDataSourcesSpec.swift index 14f1c67..d9f9de7 100644 --- a/Tests/RxTextureDataSourcesSpec.swift +++ b/Tests/RxTextureDataSourcesSpec.swift @@ -1,6 +1,6 @@ // -// RxTextureDataSourcesSpec.swift -// RxTextureDataSources +// RxASDataSourcesSpec.swift +// RxASDataSources // // Created by Dang Thai Son on 04/10/16. // Copyright © 2017 RxSwiftCommunity. All rights reserved. @@ -8,15 +8,15 @@ import Quick import Nimble -@testable import RxTextureDataSources +@testable import RxASDataSources -class RxTextureDataSourcesSpec: QuickSpec { +class RxASDataSourcesSpec: QuickSpec { override func spec() { - describe("RxTextureDataSourcesSpec") { + describe("RxASDataSourcesSpec") { it("works") { - expect("RxTextureDataSources") == "RxTextureDataSources" + expect("RxASDataSources") == "RxASDataSources" } }