From 3102852ce258274e8727f9094695a9c331e1abf3 Mon Sep 17 00:00:00 2001 From: Ryan Nystrom Date: Wed, 19 Apr 2017 08:17:56 -0700 Subject: [PATCH] Remove IGListSectionType Summary: Removing the `IGListSectionType` protocol and adding default implementations into `IGListSectionController`. - `numberOfItems` returns 1 - `cellForItemAtIndex:` asserts (have to return a cell) - `didUpdateToObject:` no-ops - `didSelectItemAtIndex:` no-ops Fixes #168 Reviewed By: jessesquires Differential Revision: D4909585 fbshipit-source-id: 8816702504e3fc0683868914ff4dd20e4af7c166 --- CHANGELOG.md | 2 + .../DemoSectionController.swift | 14 +- .../DisplaySectionController.swift | 12 +- .../EmbeddedSectionController.swift | 14 +- .../ExpandableSectionController.swift | 14 +- .../FeedItemSectionController.swift | 14 +- .../GridSectionController.swift | 12 +- .../HorizontalSectionController.swift | 14 +- .../LabelSectionController.swift | 14 +- .../ListeningSectionController.swift | 15 +- .../PostSectionController.h | 2 +- .../PostSectionController.m | 4 +- .../RemoveSectionController.swift | 14 +- .../SearchSectionController.swift | 13 +- .../SelfSizingSectionController.swift | 12 +- .../StoryboardLabelSectionController.swift | 14 +- .../UserSectionController.swift | 14 +- .../WorkingRangeSectionController.swift | 12 +- .../ViewControllers/ObjcDemoViewController.m | 2 +- .../Pods/Pods.xcodeproj/project.pbxproj | 1032 ++++++++--------- .../IGListKit/IGListKit-umbrella.h | 1 - .../Pods/Pods.xcodeproj/project.pbxproj | 104 +- .../Pods/Pods.xcodeproj/project.pbxproj | 868 +++++++------- .../IGListKit/IGListKit-umbrella.h | 1 - IGListKit.xcodeproj/project.pbxproj | 6 - Source/Common/IGListAssert.h | 4 + Source/IGListAdapter.h | 17 +- Source/IGListAdapter.m | 82 +- Source/IGListAdapterDataSource.h | 4 +- Source/IGListBatchContext.h | 12 +- Source/IGListBindingSectionController.h | 4 +- Source/IGListBindingSectionController.m | 2 +- Source/IGListCollectionContext.h | 32 +- Source/IGListDisplayDelegate.h | 10 +- Source/IGListKit.h | 2 - Source/IGListScrollDelegate.h | 8 +- Source/IGListSectionController.h | 58 + Source/IGListSectionController.m | 17 + Source/IGListSectionType.h | 91 -- Source/IGListSingleSectionController.h | 4 +- Source/IGListSingleSectionController.m | 2 +- Source/IGListStackedSectionController.h | 6 +- Source/IGListStackedSectionController.m | 98 +- Source/IGListWorkingRangeDelegate.h | 6 +- .../Internal/IGListAdapter+UICollectionView.m | 16 +- Source/Internal/IGListAdapterInternal.h | 6 +- Source/Internal/IGListDisplayHandler.h | 10 +- Source/Internal/IGListDisplayHandler.m | 12 +- Source/Internal/IGListSectionMap.h | 6 +- Source/Internal/IGListSectionMap.m | 16 +- .../IGListStackedSectionControllerInternal.h | 8 +- Source/Internal/IGListWorkingRangeHandler.h | 2 +- Source/Internal/IGListWorkingRangeHandler.mm | 4 +- Tests/IGListAdapterE2ETests.m | 50 +- Tests/IGListAdapterStoryboardTests.m | 2 +- Tests/IGListAdapterTests.m | 40 +- Tests/IGListSectionMapTests.m | 2 +- Tests/IGListStackSectionControllerTests.m | 2 +- Tests/IGListWorkingRangeHandlerTests.m | 2 +- Tests/Objects/IGListTestAdapterDataSource.m | 2 +- .../IGListTestAdapterHorizontalDataSource.m | 2 +- .../IGListTestAdapterStoryboardDataSource.m | 2 +- .../Objects/IGListTestContainerSizeSection.h | 4 +- Tests/Objects/IGListTestHorizontalSection.h | 4 +- Tests/Objects/IGListTestSection.h | 4 +- Tests/Objects/IGListTestStoryboardSection.h | 4 +- Tests/Objects/IGTestDelegateController.h | 2 +- Tests/Objects/IGTestDelegateController.m | 14 +- Tests/Objects/IGTestDelegateDataSource.m | 2 +- Tests/Objects/IGTestDiffingDataSource.m | 2 +- Tests/Objects/IGTestSingleItemDataSource.m | 2 +- Tests/Objects/IGTestSingleNibItemDataSource.m | 2 +- .../IGTestSingleStoryboardItemDataSource.m | 2 +- Tests/Objects/IGTestStackedDataSource.m | 2 +- .../IGTestStoryboardSupplementarySource.h | 2 +- Tests/Objects/IGTestSupplementarySource.h | 2 +- 76 files changed, 1390 insertions(+), 1525 deletions(-) delete mode 100644 Source/IGListSectionType.h diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c6f1ad13..8a3fb21e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -100,6 +100,8 @@ This release closes the [3.0.0 milestone](https://github.com/Instagram/IGListKit - Fix a crash when inserting or deleting from the same index within the same batch-update application. [Ryan Nystrom](https://github.com/rnystrom) [(#616)](https://github.com/Instagram/IGListKit/pull/616) +- `IGListSectionType` protocol was removed and its methods were absorted into the `IGListSectionController` base class with default implementations. [Ryan Nystrom](https://github.com/rnystrom) (tbd) + 2.1.0 ----- diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DemoSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DemoSectionController.swift index a0360e3fc..9008bcc85 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DemoSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DemoSectionController.swift @@ -47,29 +47,25 @@ extension DemoItem: IGListDiffable { } -final class DemoSectionController: IGListSectionController, IGListSectionType { +final class DemoSectionController: IGListSectionController { private var object: DemoItem? - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell cell.text = object?.name return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.object = object as? DemoItem } - func didSelectItem(at index: Int) { + override func didSelectItem(at index: Int) { if let identifier = object?.controllerIdentifier { let storyboard = UIStoryboard(name: "Demo", bundle: nil) let controller = storyboard.instantiateViewController(withIdentifier: identifier) diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DisplaySectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DisplaySectionController.swift index f34b1a402..e641cabdb 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DisplaySectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/DisplaySectionController.swift @@ -15,7 +15,7 @@ import UIKit import IGListKit -final class DisplaySectionController: IGListSectionController, IGListSectionType, IGListDisplayDelegate { +final class DisplaySectionController: IGListSectionController, IGListDisplayDelegate { override init() { super.init() @@ -23,25 +23,21 @@ final class DisplaySectionController: IGListSectionController, IGListSectionType inset = UIEdgeInsets(top: 0, left: 0, bottom: 30, right: 0) } - func numberOfItems() -> Int { + override func numberOfItems() -> Int { return 4 } - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell let section = collectionContext!.section(for: self) cell.text = "Section \(section), cell \(index)" return cell } - func didUpdate(to object: Any) {} - - func didSelectItem(at index: Int) {} - // MARK: IGListDisplayDelegate func listAdapter(_ listAdapter: IGListAdapter, willDisplay sectionController: IGListSectionController) { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/EmbeddedSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/EmbeddedSectionController.swift index c673a65ae..e1fc17f33 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/EmbeddedSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/EmbeddedSectionController.swift @@ -15,7 +15,7 @@ import UIKit import IGListKit -final class EmbeddedSectionController: IGListSectionController, IGListSectionType { +final class EmbeddedSectionController: IGListSectionController { private var number: Int? @@ -24,16 +24,12 @@ final class EmbeddedSectionController: IGListSectionController, IGListSectionTyp self.inset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 10) } - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { let height = collectionContext?.containerSize.height ?? 0 return CGSize(width: height, height: height) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: CenterLabelCell.self, for: self, at: index) as! CenterLabelCell let value = number ?? 0 cell.text = "\(value + 1)" @@ -41,10 +37,8 @@ final class EmbeddedSectionController: IGListSectionController, IGListSectionTyp return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { number = object as? Int } - func didSelectItem(at index: Int) {} - } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ExpandableSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ExpandableSectionController.swift index b363d835e..f5cc613b0 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ExpandableSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ExpandableSectionController.swift @@ -15,32 +15,28 @@ import UIKit import IGListKit -final class ExpandableSectionController: IGListSectionController, IGListSectionType { +final class ExpandableSectionController: IGListSectionController { private var expanded = false private var object: String? - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { let width = collectionContext!.containerSize.width let height = expanded ? LabelCell.textHeight(object ?? "", width: width) : LabelCell.singleLineHeight return CGSize(width: width, height: height) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell cell.text = object return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.object = object as? String } - func didSelectItem(at index: Int) { + override func didSelectItem(at index: Int) { expanded = !expanded UIView.animate(withDuration: 0.5, delay: 0, diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/FeedItemSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/FeedItemSectionController.swift index 6a20e5363..eff87691e 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/FeedItemSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/FeedItemSectionController.swift @@ -14,7 +14,7 @@ import IGListKit -final class FeedItemSectionController: IGListSectionController, IGListSectionType, IGListSupplementaryViewSource { +final class FeedItemSectionController: IGListSectionController, IGListSupplementaryViewSource { private var feedItem: FeedItem! @@ -23,28 +23,26 @@ final class FeedItemSectionController: IGListSectionController, IGListSectionTyp supplementaryViewSource = self } - // MARK: IGlistSectionType + // MARK: IGListSectionController Overrides - func numberOfItems() -> Int { + override func numberOfItems() -> Int { return feedItem.comments.count } - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext?.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell cell.text = feedItem.comments[index] return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { feedItem = object as? FeedItem } - func didSelectItem(at index: Int) {} - // MARK: IGListSupplementaryViewSource func supportedElementKinds() -> [String] { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/GridSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/GridSectionController.swift index 64d261a6f..b03a492e9 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/GridSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/GridSectionController.swift @@ -39,7 +39,7 @@ extension GridItem: IGListDiffable { } -final class GridSectionController: IGListSectionController, IGListSectionType { +final class GridSectionController: IGListSectionController { private var object: GridItem? @@ -49,27 +49,25 @@ final class GridSectionController: IGListSectionController, IGListSectionType { self.minimumLineSpacing = 1 } - func numberOfItems() -> Int { + override func numberOfItems() -> Int { return object?.itemCount ?? 0 } - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { let width = collectionContext?.containerSize.width ?? 0 let itemSize = floor(width / 4) return CGSize(width: itemSize, height: itemSize) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: CenterLabelCell.self, for: self, at: index) as! CenterLabelCell cell.text = "\(index + 1)" cell.backgroundColor = object?.color return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.object = object as? GridItem } - func didSelectItem(at index: Int) {} - } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/HorizontalSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/HorizontalSectionController.swift index 95e829274..a82463ac2 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/HorizontalSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/HorizontalSectionController.swift @@ -15,7 +15,7 @@ import UIKit import IGListKit -final class HorizontalSectionController: IGListSectionController, IGListSectionType, IGListAdapterDataSource { +final class HorizontalSectionController: IGListSectionController, IGListAdapterDataSource { private var number: Int? @@ -27,26 +27,20 @@ final class HorizontalSectionController: IGListSectionController, IGListSectionT return adapter }() - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 100) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: EmbeddedCollectionViewCell.self, for: self, at: index) as! EmbeddedCollectionViewCell adapter.collectionView = cell.collectionView return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { number = object as? Int } - func didSelectItem(at index: Int) {} - //MARK: IGListAdapterDataSource func objects(for listAdapter: IGListAdapter) -> [IGListDiffable] { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/LabelSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/LabelSectionController.swift index 15bfea3f4..dfa788f0b 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/LabelSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/LabelSectionController.swift @@ -15,28 +15,22 @@ import UIKit import IGListKit -final class LabelSectionController: IGListSectionController, IGListSectionType { +final class LabelSectionController: IGListSectionController { private var object: String? - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell cell.text = object return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.object = String(describing: object) } - func didSelectItem(at index: Int) {} - } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ListeningSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ListeningSectionController.swift index 1d775cdff..15ab0f03d 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ListeningSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/ListeningSectionController.swift @@ -14,7 +14,7 @@ import IGListKit -final class ListeningSectionController: IGListSectionController, IGListSectionType, IncrementListener { +final class ListeningSectionController: IGListSectionController, IncrementListener { private var value: Int = 0 @@ -28,25 +28,18 @@ final class ListeningSectionController: IGListSectionController, IGListSectionTy cell.text = "Section: \(section), value: \(value)" } - // MARK: IGListSectionType + // MARK: IGListSectionController Overrides - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: LabelCell.self, for: self, at: index) as! LabelCell configureCell(cell: cell) return cell } - func didUpdate(to object: Any) {} - func didSelectItem(at index: Int) {} - // MARK: IncrementListener func didIncrement(announcer: IncrementAnnouncer, value: Int) { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.h b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.h index 8420dc377..c9cb8a066 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.h +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.h @@ -14,6 +14,6 @@ #import -@interface PostSectionController : IGListSectionController +@interface PostSectionController : IGListSectionController @end diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.m b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.m index 549cd7218..e7ce40408 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.m +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/PostSectionController.m @@ -26,7 +26,7 @@ @implementation PostSectionController { Post *_post; } -#pragma mark - IGListSectionType +#pragma mark - IGListSectionController Overrides - (NSInteger)numberOfItems { return cellsBeforeComments + _post.comments.count; @@ -69,6 +69,4 @@ - (void)didUpdateToObject:(id)object { _post = object; } -- (void)didSelectItemAtIndex:(NSInteger)index {} - @end diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/RemoveSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/RemoveSectionController.swift index c441d2b01..0094e2543 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/RemoveSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/RemoveSectionController.swift @@ -18,7 +18,7 @@ protocol RemoveSectionControllerDelegate: class { func removeSectionControllerWantsRemoved(_ sectionController: RemoveSectionController) } -final class RemoveSectionController: IGListSectionController, IGListSectionType, RemoveCellDelegate { +final class RemoveSectionController: IGListSectionController, RemoveCellDelegate { weak var delegate: RemoveSectionControllerDelegate? private var number: Int? @@ -28,27 +28,21 @@ final class RemoveSectionController: IGListSectionController, IGListSectionType, inset = UIEdgeInsets(top: 0, left: 0, bottom: 10, right: 0) } - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext?.dequeueReusableCell(of: RemoveCell.self, for: self, at: index) as! RemoveCell cell.text = "Cell: \((number ?? 0) + 1)" cell.delegate = self return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { number = object as? Int } - func didSelectItem(at index: Int) {} - //MARK: RemoveCellDelegate func removeCellDidTapButton(_ cell: RemoveCell) { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SearchSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SearchSectionController.swift index 2c6270202..c0f47282b 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SearchSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SearchSectionController.swift @@ -18,7 +18,7 @@ protocol SearchSectionControllerDelegate: class { func searchSectionController(_ sectionController: SearchSectionController, didChangeText text: String) } -final class SearchSectionController: IGListSectionController, IGListSectionType, UISearchBarDelegate, IGListScrollDelegate { +final class SearchSectionController: IGListSectionController, UISearchBarDelegate, IGListScrollDelegate { weak var delegate: SearchSectionControllerDelegate? @@ -27,23 +27,16 @@ final class SearchSectionController: IGListSectionController, IGListSectionType, scrollDelegate = self } - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 44) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: SearchCell.self, for: self, at: index) as! SearchCell cell.searchBar.delegate = self return cell } - func didUpdate(to object: Any) {} - func didSelectItem(at index: Int) {} - //MARK: UISearchBarDelegate func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SelfSizingSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SelfSizingSectionController.swift index 97f4c40c3..0c5fa4905 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SelfSizingSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/SelfSizingSectionController.swift @@ -15,7 +15,7 @@ import UIKit import IGListKit -final class SelfSizingSectionController: IGListSectionController, IGListSectionType { +final class SelfSizingSectionController: IGListSectionController { private var model: SelectionModel! @@ -26,15 +26,15 @@ final class SelfSizingSectionController: IGListSectionController, IGListSectionT minimumInteritemSpacing = 4 } - func numberOfItems() -> Int { + override func numberOfItems() -> Int { return model.options.count } - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let text = model.options[index] let cell: UICollectionViewCell switch model.type { @@ -54,10 +54,8 @@ final class SelfSizingSectionController: IGListSectionController, IGListSectionT return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.model = object as? SelectionModel } - func didSelectItem(at index: Int) {} - } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/StoryboardLabelSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/StoryboardLabelSectionController.swift index ed39dff2f..dbddedd5d 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/StoryboardLabelSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/StoryboardLabelSectionController.swift @@ -19,30 +19,26 @@ protocol StoryboardLabelSectionControllerDelegate: class { func removeSectionControllerWantsRemoved(_ sectionController: StoryboardLabelSectionController) } -final class StoryboardLabelSectionController: IGListSectionController, IGListSectionType { +final class StoryboardLabelSectionController: IGListSectionController { private var object: Person? weak var delegate: StoryboardLabelSectionControllerDelegate? - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: (self.object?.name.characters.count)! * 7, height: (self.object?.name.characters.count)! * 7) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCellFromStoryboard(withIdentifier: "cell", for: self, at: index) as! StoryboardCell cell.text = object?.name return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.object = object as? Person } - func didSelectItem(at index: Int) { + override func didSelectItem(at index: Int) { delegate?.removeSectionControllerWantsRemoved(self) } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/UserSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/UserSectionController.swift index cadef70fe..79440c0da 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/UserSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/UserSectionController.swift @@ -15,29 +15,23 @@ import UIKit import IGListKit -final class UserSectionController: IGListSectionController, IGListSectionType { +final class UserSectionController: IGListSectionController { private var user: User? - func numberOfItems() -> Int { - return 1 - } - - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { return CGSize(width: collectionContext!.containerSize.width, height: 55) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cell = collectionContext!.dequeueReusableCell(of: DetailLabelCell.self, for: self, at: index) as! DetailLabelCell cell.title = user?.name cell.detail = "@" + (user?.handle ?? "") return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.user = object as? User } - func didSelectItem(at index: Int) {} - } diff --git a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/WorkingRangeSectionController.swift b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/WorkingRangeSectionController.swift index f81444a83..084fe56dd 100644 --- a/Examples/Examples-iOS/IGListKitExamples/SectionControllers/WorkingRangeSectionController.swift +++ b/Examples/Examples-iOS/IGListKitExamples/SectionControllers/WorkingRangeSectionController.swift @@ -15,7 +15,7 @@ import UIKit import IGListKit -final class WorkingRangeSectionController: IGListSectionController, IGListSectionType, IGListWorkingRangeDelegate { +final class WorkingRangeSectionController: IGListSectionController, IGListWorkingRangeDelegate { private var height: Int? private var downloadedImage: UIImage? @@ -37,17 +37,17 @@ final class WorkingRangeSectionController: IGListSectionController, IGListSectio workingRangeDelegate = self } - func numberOfItems() -> Int { + override func numberOfItems() -> Int { return 2 } - func sizeForItem(at index: Int) -> CGSize { + override func sizeForItem(at index: Int) -> CGSize { let width: CGFloat = collectionContext?.containerSize.width ?? 0 let height: CGFloat = CGFloat(index == 0 ? 55 : (self.height ?? 0)) return CGSize(width: width, height: height) } - func cellForItem(at index: Int) -> UICollectionViewCell { + override func cellForItem(at index: Int) -> UICollectionViewCell { let cellClass: AnyClass = index == 0 ? LabelCell.self : ImageCell.self let cell = collectionContext!.dequeueReusableCell(of: cellClass, for: self, at: index) if let cell = cell as? LabelCell { @@ -58,12 +58,10 @@ final class WorkingRangeSectionController: IGListSectionController, IGListSectio return cell } - func didUpdate(to object: Any) { + override func didUpdate(to object: Any) { self.height = object as? Int } - func didSelectItem(at index: Int) {} - //MARK: IGListWorkingRangeDelegate func listAdapter(_ listAdapter: IGListAdapter, sectionControllerWillEnterWorkingRange sectionController: IGListSectionController) { diff --git a/Examples/Examples-iOS/IGListKitExamples/ViewControllers/ObjcDemoViewController.m b/Examples/Examples-iOS/IGListKitExamples/ViewControllers/ObjcDemoViewController.m index 6374f7508..85c226a87 100644 --- a/Examples/Examples-iOS/IGListKitExamples/ViewControllers/ObjcDemoViewController.m +++ b/Examples/Examples-iOS/IGListKitExamples/ViewControllers/ObjcDemoViewController.m @@ -77,7 +77,7 @@ - (void)viewDidLayoutSubviews { return self.data; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { return [PostSectionController new]; } diff --git a/Examples/Examples-iOS/Pods/Pods.xcodeproj/project.pbxproj b/Examples/Examples-iOS/Pods/Pods.xcodeproj/project.pbxproj index 2f52a7bcb..09744463e 100644 --- a/Examples/Examples-iOS/Pods/Pods.xcodeproj/project.pbxproj +++ b/Examples/Examples-iOS/Pods/Pods.xcodeproj/project.pbxproj @@ -7,96 +7,95 @@ objects = { /* Begin PBXBuildFile section */ - 041621F397C14C8AE34D77AA481D0FD9 /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 556A9F0AB342AD6CAF91AB51282E7422 /* IGListSingleSectionController.m */; }; - 05B997D548FCBD4318D12FF0A7AFE250 /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C2FE43C0CF78F08434C00056EEB8E51 /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1526BBAB534D19F6E6A5AC9E14302379 /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = DD7B209F8A8DEB6886ABDC849DE587B2 /* IGListSectionController.m */; }; - 16A27EBC494E5231C81C9DB8AC2023DF /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 317DC5F1FF47DD23A0338F9D0038D2F9 /* IGListWorkingRangeHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 03940F436D9CAD6A80AD21A4A87A6FBE /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 13C65DFAC7D98A7582C38E81F6B30209 /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 03A1EED34F63073A48D87F6ABDC860D2 /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 11C6AFCD961C9487C1DCF4F9569E0F82 /* IGListAdapterProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 062BD03C11D02C909696E7D8B351531B /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = 1530796CFFC53B7E1DF9A05977D6214E /* UICollectionView+IGListBatchUpdateData.m */; }; + 0861666ADF36D27227252177347624AF /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C3A7B90D5A52EB67E0BC9A85119E7F60 /* IGListSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0949EDACD4CEA37D8EB5055CF0DADCE2 /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = C99EC0F480FA1128466B58EF6DC27566 /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1313C1E768F70A36D8973366603757AD /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = CE414A2EA6CB6CBED92ECF2FCAA93FB4 /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1A89AF7CCCD65D9D5B946363776D05AE /* Pods-IGListKitExamples-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E514E9DA595A3527E8C938A6CAEB1E /* Pods-IGListKitExamples-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 216B9A0D9B39C39620CB170432545CC7 /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 074874E318B94051EF14B2927AFD2989 /* IGListAdapterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 267765F661DF26FF813159D6FA3C79B0 /* IGListStackedSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E30FB2138ECC83E6192A2363B3117E9A /* IGListStackedSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2B217E3BBEEAC8AA3AC12411586EF587 /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 73EF3E9E97ABE6F14E7D597B5863A4FD /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C289EC5F1940E622C1E9C9515E9D63C /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 1BCFC6A9A27B34F4E753188D8D26C4DC /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2DA800C7B802CA1BC3BB41B94D05AA31 /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = D92E992AEBC0252F553186B4DD932CA1 /* IGListAdapter+UICollectionView.m */; }; - 2F9515019760E1F75C58F8FA64158F7F /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 96DEAC1414EB00DA2F07C92FEC11E1F1 /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 342DA78EA2ECB996076199481C6915C7 /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = B2C760FC3E681BAB3B0423384EF26AA1 /* IGListSectionMap.m */; }; - 35D37D2E885F564FBB997BB89545D4AB /* IGListBatchUpdates.m in Sources */ = {isa = PBXBuildFile; fileRef = A9B28E9CC3806635A90B28580091F1D2 /* IGListBatchUpdates.m */; }; - 37BF83777D02B65CD12B579762890691 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - 3BAD4927741D261829E94DE8D728E54F /* IGListKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B2D0233D5EFB5C872CE626C51CAC55D /* IGListKit-dummy.m */; }; - 3C86764E972AE39C438215AA079794F2 /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2910EE0D10C8EFFDF88D0ACC3A74281E /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 467D85F9089497C49DDCE319388DB38A /* IGListSectionType.h in Headers */ = {isa = PBXBuildFile; fileRef = CE85C45788108D601E7916537307DC35 /* IGListSectionType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 495325FE83A69C1D5089869CFBF87F79 /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = ACCF35E34A278680E3CAA7A3ECF50156 /* IGListDisplayHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4979C8847CAD5066AA9D16C2784075BB /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 4546BD3E894151BCAAE44B5297E2D9ED /* IGListIndexSetResult.m */; }; + 1C585E84B3CE4372364EE43E4AFEAF80 /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 6881EE5DADB9B45D658B0C19D0EE826A /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1E591DC4605E4418A9011BBD4FB842CA /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 128C6A71E10962BFD6A26AF9F9D219E7 /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F02150184A609EF92E1B57FB74CD754 /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 4D09B6713537DC02CCBE6A3D212CF29E /* IGListReloadDataUpdater.m */; }; + 2004CA3CC00FEA4658E6DAD2440155AA /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F25EEA9F924F273B080BFB42755C1A67 /* IGListCollectionViewLayoutInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 24E861206B7055250AD1FD80C4600CB5 /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = CDF501644CAFE656EA50A4210D6AD27E /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31A1F3DE47B880E4C56553D953AFB710 /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 687B10A27219C72A0A365771AD752B44 /* IGListAdapter.m */; }; + 32EC6349B9DFB7AEA5E51326F9E58A21 /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 7682C8756E0773D6924D8C3790505FEF /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37E91E6EC7BD8884BA7B11AA7CEB69CD /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = DC5A2DF71C976B84523D86CB1E25BEB0 /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3870B59722AB9B0DA6221909BC65800C /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 8C311AD6DD44F75945614572E1ACEB8E /* IGListIndexPathResult.m */; }; + 39F7D48B90796AD505EB5382D1C5943A /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 35236A82A41B046420C7F4C9BE2A586C /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4203BDFE4A09C75AB244F28B1DC69223 /* IGListStackedSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 9DD4FC21FF61E53375F5902DF761FF8A /* IGListStackedSectionController.m */; }; + 4441ECCCE547C6118B7AD035DF7B28D6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */; }; + 448529535C47B70E4FE04D4638B43D44 /* IGListStackedSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = D23FB7BF896BFEEFDDD84C68714E050F /* IGListStackedSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47CC74846D05CC63B60CC48E94ACA4F8 /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = DCF0355CCD9772067D1B2754C74A50AE /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49CF56E98BBE1E117FDB251267197BE5 /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F54B5277F7AB817A049AB3438EB578 /* IGListDisplayHandler.m */; }; + 4D36356099F7D27F964161DD58FB599E /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AC00C760C4B22446B480493EC519FEB1 /* IGListAdapterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4DC076C43C4AA5A3C88EEC49F5097581 /* Pods-IGListKitMessageExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = B2806858B5ED353CF2D8B37BFAE4171C /* Pods-IGListKitMessageExample-dummy.m */; }; - 566995558406E3FDB910279F9D307F87 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B63C6A64CF66340668996F78DA6BB482 /* UIKit.framework */; }; - 5DD701908F2DB1EBFFB0B8F9B5AF3158 /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 346CF0E805BCB29475F51C54C3446F60 /* IGListAdapter.m */; }; - 5F9C90267F86D5437B48B838ADE8DCAF /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 27705677615640CBDEF4B4A65CEC6DAB /* NSNumber+IGListDiffable.m */; }; - 5FBBB0F0E1503A1E40C114495CB9637E /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 795F2F891E5C36603E8D3054FA7062F1 /* UICollectionView+IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 605A1CF6CCD9BFE48975D09C7BBD92FB /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = C053260F14A7A98487E0ACA55717FE42 /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 617D208EE2F4324040099D05379AD603 /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = D880FA5D194D969F5C556B2CCD6E25E0 /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 650E02C9C9F5780B47A3E7949972D253 /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = A14DD700C6A6D05B67CEF0D603798E3E /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6594BBB981E431D7CADF89730991B9EA /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4BF204CFCB5D7F1C03B50A8A376566 /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67AF97C3BEA4293AFB90489F666B69ED /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C9A1E9B3E5F1234C844DB6E8F9DACA5 /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D06C0234C8729326F1F1D6DB22FB3B7 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - 6D15DC2BB89137494627771D5F62C6FF /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 644FBC71723B45D77C042DC82D508FC7 /* IGListCollectionViewLayout.mm */; }; - 70319DC97E9B4DE1F5BC58D1EDE2016E /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 9CEB70D8B7238FA2E3E5EAB8B4E5C370 /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 797E3933D49BAD4FE671EA508ED57CA6 /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = C44585EE370964A537D808A43EF142CC /* IGListAdapter+UICollectionView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7AEB065C6BC928C87DD7D81CD04BB949 /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = A661A379F89E6DD26CFB8E2BD8303745 /* IGListReloadDataUpdater.m */; }; - 7C0A8421653AD00A781CD7EC01F5054B /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D4BAC0163E73DC130C783EDAFE6570D /* IGListIndexPathResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7C2EBF69D59AFC5138480258AA666F82 /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = DFEE8206DE30F07E9418DF174D42A547 /* IGListAdapterProxy.m */; }; - 7CB0EA5D06366BA1BBBEC5A498A91765 /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = BA858BEAE82DFC0AD29D0A934E18FE21 /* IGListDisplayHandler.m */; }; - 8AB38A97E79D74C6502A6BE09C493840 /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = B02AFE7E8D44AF01AD4257ACC19D3DD9 /* IGListAdapterUpdater.m */; }; - 8BE13BC452BBD6AF12D98167F6437BB0 /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 56A37F43EB48F442AE930AABEBEA6180 /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 8E4859877F1E75B63C9FC11D270B4F70 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - 922ED490D99EB874EB87C670EBC71802 /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 4ABA1D98607357653369AEE49DC017EC /* IGListMoveIndex.m */; }; - 926C32B907129CB26E05EC9BDA1235DA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */; }; - 98BC63EEFDC38B47689277D0D0B022B3 /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = 54DA4910AC81FEE1F1EED4CAEFDD8E3C /* UICollectionView+IGListBatchUpdateData.m */; }; - 9C26D7022982F82BA01B0E1DDBBDC773 /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = F75B27505A5437A8CF0A87DDB8C42E27 /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9EDE9C8888626CE5B758BEC5FBCBE54B /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 90C4A500353A4537E2C197792C74F807 /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FBD59EE9E578D5FF6C0236A63CAC49D /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = F07874B03BF66E52DD2EDDA04F070025 /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A00FD6C852B1634EA36CA7C227F2EEAB /* IGListStackedSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 8E18001732100B9CA79CDF71F062C6EC /* IGListStackedSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A23FAB91A05BC3AD922A3E48EFB81908 /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = FDB4C20A1685169EA84832B78AC306E3 /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3F79A1526CD319CF9B143F7CFBFCBD4 /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = B6C8EA0B604E308A3F6BE3F5091E1BB9 /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A430864799B42A29A74863F8EA1273A1 /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 2DDD5A82C721891238897191543FC970 /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A45F5292FC6857C2A410137F4AE79704 /* IGListStackedSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = B11A43B4BD12947737C8C0F72B2247CC /* IGListStackedSectionController.m */; }; - A6E3FCCC571A71F885FD5C91DAA25F43 /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BA490A03B7F07A872496F5EFE395C178 /* IGListMoveIndexInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - A79B1DA60159B577894013D8B32B329B /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = BB858E0556FC4AF3AD5FB348DDDB5E91 /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AA959228621573EF42895C3E79DBB5F1 /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0C88D0D51E01E83285183CAC8C2A9C4F /* IGListCollectionViewLayoutInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AD435BD42B664FEE2FE9BCBD54F7C61A /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = 8CC6C371C66B6CFE18CB8D7634281132 /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AEB28733529A92A19B65E2617E22330A /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5AD67CBF10B06F018D94619A90CD46E7 /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF1D580B7009E51DDA6BCB587C675885 /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 6BB6D7AFF9896D2593BE76DC5E1F8B3C /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFB2B846F9C192617DD5CBC0F29FE35C /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = B1E8093AFE507867DA3E27C84AE458F9 /* NSString+IGListDiffable.m */; }; - B0551D6CCC31FB6C5ECD00B3917A9545 /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 3EA328B1802C70921072D161276A2823 /* IGListBindingSectionController.m */; }; - B5E37AB8B0FD348456AFC1865827C476 /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = EF0638C6934CDB929BD9A5EA6787BA8E /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4FADE33ABC2F792A397E475C38CB2746 /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 3D3BEB704971A62F38D7034C5DC6B51F /* IGListIndexSetResult.m */; }; + 521D101EE7EF9C5A5B7D92BCCEF1A5BB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */; }; + 57CAA503A9BBB6CEBDF09F07F767EAAD /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = BBBF7E4AAF562F141184331AC69327A1 /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57FF6BD7479F9EC5FEF48816DAB3C6F8 /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = DF967ED4C037C2165BEA7E77D35158FA /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5C622E4EC1FA7561EB204881DE425858 /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = E844B5893674C03F616788BC2E36CA57 /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E3769700E068778D2E43545E722B9E6 /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 23A1D794D5A19A2CED90DE5AED52678F /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E9DBAB061CE4F44D6278684CC927232 /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = B552979928DCD86465CCD0FCF78D9791 /* IGListAdapterUpdaterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6211C67DEADDC64A24EBBE3C08AEC6B1 /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 93CB40442BA02516F16E14DF58D9D177 /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 623F244476E6EC9216AF3A13CBA7A2BC /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 54DCD8DC7F724025B5C1AD2A007DE32B /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 68098221B21296E0F67530FB69618EDE /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AA3D938E87BC264FFE6CCF91469CAE5 /* IGListAdapter+UICollectionView.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 69D11BC010461B6EAE22CC8C69C4721A /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 510B587B4E9120E5EBC0275ACB3BADE7 /* NSNumber+IGListDiffable.m */; }; + 6BAED175CFF597DB7DD9A4A8C2DAA2F5 /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = D308B26E00256C67AF1B250E57EA5A90 /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7000178EE2AC2FEFB89209C5310DCFA0 /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = EA9433D149ABF204DBEEBA3F4CC45681 /* IGListCollectionViewLayout.mm */; }; + 724B358FDC2C8B94E9F62DEE4A2402A7 /* IGListKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 482B69229E7DAC666D1463F3576E98ED /* IGListKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7360A5B26D5FC84A36401F87C39B63D1 /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 126B434DC24FC512B902B271C53E716B /* IGListIndexSetResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 75066F38AA7532E4B4F2CDA01A230DFC /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 66F35EDAEC3209A27E69740C4D7451B4 /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 768F7B3E279D39A2F91B114CD5FE5E84 /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7343A5F3DBF55CDB484F981721A3D6A9 /* IGListAdapter+UICollectionView.m */; }; + 76CDE8D61E662E34C4FFD802839F3FBC /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = C362E9BDB9DD0D4D45DC9151F45C4B72 /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C2C95FA260EEF383C14DD2D88FB1892 /* IGListBatchUpdates.h in Headers */ = {isa = PBXBuildFile; fileRef = 303FD9E47A846E0F9A20AF4A07181BE4 /* IGListBatchUpdates.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 80D4209CFBD9AA2B03753B5F7E5D5972 /* IGListKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B2D0233D5EFB5C872CE626C51CAC55D /* IGListKit-dummy.m */; }; + 81546E0D43524C590C4DA509B5FB5F08 /* IGListStackedSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D600DC55D98B6A40AF3F5A06B3B3E4F4 /* IGListStackedSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84533BEED259AB892EC21D3F56A44985 /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 995BF000767D90F81FE1FCBD01B19FEE /* IGListSectionMap.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8A5CD7D0F4344727B973D2FA4E3D00D1 /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = CA3F29FA269BFE2317600796F9874206 /* IGListMoveIndexInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8C11C52690BF01F06C90E0EF4DE4D3AF /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 970D9132EFF39CBEE4066D0B0919A14C /* IGListBatchUpdateData.mm */; }; + 9A307D2F0C698DC77291FB8A88535CC6 /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6CC78FAEF5E4CE230B04A4CD9FAB1BB /* IGListSectionController.m */; }; + 9CAC31552EFF75E6EB383825ED27CD36 /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = F0592D168D6B791B81BEE2EAED011008 /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A30679728ED0BD070BDB612E5F848AAF /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F3E88857144064978012FB0FAFB20E4E /* IGListSingleSectionController.m */; }; + A9E6FEB3975323C5E7C885B0CFFFC9A5 /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 956742DC57FD7BB7862A84780C46B177 /* UICollectionView+IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Private, ); }; }; + ACC3E0D0A35D0DCE510E56717B6459A3 /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 00B833AC8969E7F0B6860E41F5CFF6BF /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B20B4945659B2A6683F2A9B5D4533958 /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D23A551E4FF4583DFC888CEA39E472 /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B3FAF94584AFACCA7CDCD30E83FA019A /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */; }; B718064EE1D4B6E9B8212A936CA8EA75 /* Pods-IGListKitTodayExample-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 60C3700A55A1751BE6C71BAEBADD7E7A /* Pods-IGListKitTodayExample-dummy.m */; }; B737133A4230ACB664806CF20F03FAD1 /* Pods-IGListKitTodayExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 3709B01F4A8953783FFACB86C3D0CE15 /* Pods-IGListKitTodayExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B74F811392ED1CD134FB1C41DCD94FEF /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 18EB8795791647A0DA6F9FD3315663C2 /* IGListSectionMap.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BE033D25C320D21E1E78EAEF399DF540 /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 2755A1A7B80E83D37C5C30C728E0D05A /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BEC4A00B91C60AE346C483AD9787226F /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 7665463B9BBC7DA45FBF39F6D85449FC /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C05F2E2B8681819BE4AB6F549B975047 /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = 76ABCDD9895ED63E5D1A02C63337BEAB /* IGListDiff.mm */; }; - C0DDDB446F14338877DD7DAD209FCA7B /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 9AF01EA4F0E156C824696C9C8D73BFF3 /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C415B08C18815625328D74C3D574B758 /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = E42343067A5EC2951CEC615AA51847F9 /* IGListBatchUpdateData.mm */; }; + B8B56A12EBD1462CDEF4353E92E35FBA /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 3394F685B20B72A8649057153CCA97F9 /* IGListAdapterProxy.m */; }; + BBB2299B4227968D08C20540E2956D99 /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = CFC595C6C8E19C38A1D765F6D6FA80FF /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BC5744F76AEED9E1B86966F420BCD839 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7EC994CDC2D681BA26389F78A7E4B325 /* UIKit.framework */; }; + BDB3AB34BD3B9795170FC36E5840A040 /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = D46F2593469C5C10642F0792F36215D8 /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; C4C4C1B02AFD7277F00A40570658152C /* Pods-IGListKitExamples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = DE5CE5A84B8F2E7646B7E32B1F54007D /* Pods-IGListKitExamples-dummy.m */; }; - C50416B409F87F97D7F272E23E2C7682 /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F4E7CF7ABFDFA046EEEC93A719A313D /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5221F588F598798E6B5C67ABC811D5D /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 9763BAD3CB9FE0FA0E89DA0EE6A1CCB4 /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CAA0B73C38FF9D79747061CEA300FE43 /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C8FBB359B876D05E7B1144E6CB482CF /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CF789AB49CEB47D7BB58715DEF765CF9 /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 66746A29464E452421A864CD74A22F1E /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CF9C21562C5661AD8A2A8A6260A5E40C /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D852207246B2F5D1F627BF67DDA7442B /* IGListAdapterUpdaterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D39048F532A6F87CD37E7FE585A3E13B /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = CE127FAB1BF88753CC28D2784733F0B4 /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D49D6E968FA458537E5D66989EBF540A /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 994DBE0F7FA1C13BF05543018DC3C8B9 /* IGListIndexSetResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DF988DD7BB62B89225475997CC008E76 /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2CE1DAD790A6E3026B562667213EB7DE /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E19D4C25139983D03630500270ABBAD4 /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 46EA0BD9A2DDDA3D8B6DD68674FBBB6B /* IGListMoveIndexPath.m */; }; - E1D629CFB5A8ACD32A6289E92ED5EB15 /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2B3BCC52CA93BDA0DFA312C519216708 /* IGListWorkingRangeHandler.mm */; }; + C8780DF1675B8B7991288FF361B07715 /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 464F61A8A2B9C6DA1D4FACCEABC46204 /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC702C39881CED86FB126FE919B16299 /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = C22EE10E426C4F7BA90350EB789862CB /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE08053C4854991F8B100E13A2E8ABEF /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 66846BC04A6F1AE7B73E1895500362B0 /* IGListBindingSectionController.m */; }; + CF5F33E46378A9CE6279AB12B492A460 /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = F7A7BE5FE0CAD33BF07A0E9271A0F8EB /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0A36CB36CE65B4F0F27D57E7184ECE1 /* IGListBatchUpdates.m in Sources */ = {isa = PBXBuildFile; fileRef = 59B489C9014C299A413141C9AAE9CD1E /* IGListBatchUpdates.m */; }; + D21C7CE8688679FB2B5159BE89958B22 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */; }; + D38C4D4A8966F8417A3A4398AA9EB7EA /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = ECA7F83E1A5B013DCFF32E098468FFAC /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8C8B3E66CA08064EFC9B3EF209A9D4C /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = B85E82205853179C3501A9DABCFC258D /* IGListBatchUpdateState.h */; settings = {ATTRIBUTES = (Private, ); }; }; + DA464F43C2E620E47B15B890707493EB /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 32D552B6FBB73720D54EC72AB87AFA43 /* IGListMoveIndexPath.m */; }; + DE5A69B50E2E91455E67692D5A97226B /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = AEDC2194688024CA75ACD12B1BA10F6F /* IGListMoveIndexPathInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; E353B40949D9675B8B2B03C7569F96F5 /* Pods-IGListKitMessageExample-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5566AE25970A51436D6E32AE60BE5E87 /* Pods-IGListKitMessageExample-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E8EBB46E888594B5CECA537E88E97CF4 /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 35A45B1F7C3DC65CDACD2F05E1B6BF10 /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE1E57838126C5EC52FBCE9B73AF386D /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = 729A51CE0B44BEF483322DD19BAA09DF /* IGListBatchUpdateState.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F42FB7150A4425A295AC9272561FC837 /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = E19298C9E1B4525DB9D8D76C59F61FB1 /* IGListAdapterProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F8502EF2DD8F30418ACEC041BA9D4F14 /* IGListBatchUpdates.h in Headers */ = {isa = PBXBuildFile; fileRef = 0364EA5AEEBB70D20CFB1DE5B618AFFB /* IGListBatchUpdates.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F89AE6DCF04A41FA75CBEE3EE414CCCD /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4D64D94469FC419A50263C72FCE291F1 /* IGListMoveIndexPathInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F921C07FED77607AEFEDA2C1D17F8D4C /* IGListKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 482B69229E7DAC666D1463F3576E98ED /* IGListKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FADEF09AA304AB30D0788CCEE27B6C26 /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 4872833C200EC2313580E95E3769C994 /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FBE3B4BD48418B706C08A2BBBCAAB12A /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = A129FFDF45FD2FFA06EC766FA2B8EAE0 /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FF5B15DBD33405CC8637A40752E41724 /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4F6ACE9ED3FDAFBDAED7F3FD82F78CB8 /* IGListSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FF6DBEC5D43AA3B0781B8F313CD17E23 /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = A725F37B2A8FCA8E9C286981E5A32971 /* IGListIndexPathResult.m */; }; + E399187CDD8B843C82CBF5DF2EB154F0 /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 9A10783E66535EA636303C0F2AD98758 /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E64474310FE9C9A2797E172930E38BA7 /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = DF61E7DD86FAD0218CCE3232CF36DE0B /* IGListWorkingRangeHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E68FCA8AFF1B260CCCD7E8965A84C0BF /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = D35B6D2A00763E6B77F2ED16C184C42A /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E83D2ACA6E30D86EE9587391A6080EB2 /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = A26E04DE91BD0C36247DB5E402A16369 /* IGListAdapterUpdater.m */; }; + EC78A471F4030DC277C6E7EF60AD9ADA /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 5325BC8680F74E41EFC55FA4305E4B3D /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED1BAA686EE1BF39AE753F76EBFEBC07 /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = 72A473B7F5ABD3475F4F67E8E56DB18B /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED2C70F38FED47DC72A3F3029F63A57B /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 9C96BBEF09F7B6E0A65179AAD3421C8C /* NSString+IGListDiffable.m */; }; + ED50CF8481B60B0730B6D9382862A92A /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = CD0A59AE07DE2FBAC1DEA04987E921FC /* IGListDisplayHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + F0E9EA4BA14E1DCBC12CB94B2062358D /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EFDD625FC09907ED96234763BA3CFC5 /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F106F7B43E45CD6EF136DD00177BED8C /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = F98A53984C29D820FA43864EC04C051D /* IGListWorkingRangeHandler.mm */; }; + F4162B6AFF7677D3F551857782484463 /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = B50B9AB189CFA1D3CCCEBF3DE250DD75 /* IGListSectionMap.m */; }; + F8575FA8F32C24920EBAED78C5276E35 /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = DF4D08DE29CE19218D70B615769F150E /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FAF4CBCED1471115A642F7201378D0EA /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = B31008C88A28337F92FB3C3EE483AD40 /* IGListDiff.mm */; }; + FBBFF5722512DDA16B9C4719B7166028 /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = A6BCBA1B1504A8213FCB0B265B805C7E /* IGListMoveIndex.m */; }; + FD51193626A27D0FFEEDF889C005217E /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E61C320A1EF8E75DD2C40D835D5C428 /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FFFB6164411A612BE1696A2E46C67941 /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1D897E8542A677B2282FDC558C6BFE27 /* IGListIndexPathResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -104,161 +103,160 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 798141DD114EDC1DDCA359E64B5591DB; + remoteGlobalIDString = 7E8FA01AD073C38BEBF299EE44B91444; remoteInfo = IGListKit; }; 7D332B346FFC0D5E5159546D185DAFEF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 798141DD114EDC1DDCA359E64B5591DB; + remoteGlobalIDString = 7E8FA01AD073C38BEBF299EE44B91444; remoteInfo = IGListKit; }; A0A5426482C447F640D6A192E71D5F5B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 798141DD114EDC1DDCA359E64B5591DB; + remoteGlobalIDString = 7E8FA01AD073C38BEBF299EE44B91444; remoteInfo = IGListKit; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0364EA5AEEBB70D20CFB1DE5B618AFFB /* IGListBatchUpdates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdates.h; sourceTree = ""; }; - 074874E318B94051EF14B2927AFD2989 /* IGListAdapterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = ""; }; - 0C88D0D51E01E83285183CAC8C2A9C4F /* IGListCollectionViewLayoutInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutInternal.h; sourceTree = ""; }; - 0C9A1E9B3E5F1234C844DB6E8F9DACA5 /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = ""; }; + 00B833AC8969E7F0B6860E41F5CFF6BF /* IGListCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayout.h; sourceTree = ""; }; 0E9E68D2900796EE8622487D6254AC9C /* Pods-IGListKitExamples-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-frameworks.sh"; sourceTree = ""; }; 116948205344E279070B2977E925F803 /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IGListKit.framework; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 18EB8795791647A0DA6F9FD3315663C2 /* IGListSectionMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = ""; }; + 11C6AFCD961C9487C1DCF4F9569E0F82 /* IGListAdapterProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = ""; }; + 126B434DC24FC512B902B271C53E716B /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = ""; }; + 128C6A71E10962BFD6A26AF9F9D219E7 /* IGListMoveIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = ""; }; + 13C65DFAC7D98A7582C38E81F6B30209 /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = ""; }; + 14D23A551E4FF4583DFC888CEA39E472 /* IGListDiffKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffKit.h; sourceTree = ""; }; + 1530796CFFC53B7E1DF9A05977D6214E /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = ""; }; 1B2E0BC65B098972E1E94F970F834DA0 /* Pods-IGListKitTodayExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-IGListKitTodayExample.modulemap"; sourceTree = ""; }; - 1BCFC6A9A27B34F4E753188D8D26C4DC /* IGListCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayout.h; sourceTree = ""; }; - 1C2FE43C0CF78F08434C00056EEB8E51 /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = ""; }; - 1C8FBB359B876D05E7B1144E6CB482CF /* IGListBatchContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchContext.h; sourceTree = ""; }; + 1D897E8542A677B2282FDC558C6BFE27 /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = ""; }; 20D642EAE3662BDC17956017E6D622E8 /* Pods-IGListKitMessageExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-IGListKitMessageExample-acknowledgements.markdown"; sourceTree = ""; }; + 23A1D794D5A19A2CED90DE5AED52678F /* NSNumber+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNumber+IGListDiffable.h"; sourceTree = ""; }; 2698205F5C5CB69B82E6AC7C1D7E9519 /* Pods-IGListKitExamples-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-resources.sh"; sourceTree = ""; }; 270C1C7FCBA7F319FD7A0398BC18710F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 2755A1A7B80E83D37C5C30C728E0D05A /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = ""; }; - 27705677615640CBDEF4B4A65CEC6DAB /* NSNumber+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+IGListDiffable.m"; sourceTree = ""; }; - 2910EE0D10C8EFFDF88D0ACC3A74281E /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = ""; }; - 2B3BCC52CA93BDA0DFA312C519216708 /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListWorkingRangeHandler.mm; sourceTree = ""; }; - 2CE1DAD790A6E3026B562667213EB7DE /* IGListBindable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindable.h; sourceTree = ""; }; - 2DDD5A82C721891238897191543FC970 /* IGListScrollDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = ""; }; - 317DC5F1FF47DD23A0338F9D0038D2F9 /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = ""; }; - 346CF0E805BCB29475F51C54C3446F60 /* IGListAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = ""; }; + 2AA3D938E87BC264FFE6CCF91469CAE5 /* IGListAdapter+UICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+UICollectionView.h"; sourceTree = ""; }; + 303FD9E47A846E0F9A20AF4A07181BE4 /* IGListBatchUpdates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdates.h; sourceTree = ""; }; + 32D552B6FBB73720D54EC72AB87AFA43 /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = ""; }; + 3394F685B20B72A8649057153CCA97F9 /* IGListAdapterProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = ""; }; + 35236A82A41B046420C7F4C9BE2A586C /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = ""; }; 3546419AAFB29CE358FDE5691F031F9E /* Pods_IGListKitTodayExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_IGListKitTodayExample.framework; path = "Pods-IGListKitTodayExample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 35A45B1F7C3DC65CDACD2F05E1B6BF10 /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = ""; }; 3709B01F4A8953783FFACB86C3D0CE15 /* Pods-IGListKitTodayExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-IGListKitTodayExample-umbrella.h"; sourceTree = ""; }; 3B2D0233D5EFB5C872CE626C51CAC55D /* IGListKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListKit-dummy.m"; sourceTree = ""; }; + 3D3BEB704971A62F38D7034C5DC6B51F /* IGListIndexSetResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = ""; }; 3DFBEA9D0D85DB9366D3C949C20332DD /* Pods_IGListKitExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_IGListKitExamples.framework; path = "Pods-IGListKitExamples.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 3EA328B1802C70921072D161276A2823 /* IGListBindingSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionController.m; sourceTree = ""; }; - 4546BD3E894151BCAAE44B5297E2D9ED /* IGListIndexSetResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = ""; }; - 46EA0BD9A2DDDA3D8B6DD68674FBBB6B /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = ""; }; + 464F61A8A2B9C6DA1D4FACCEABC46204 /* IGListBindingSectionControllerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerDataSource.h; sourceTree = ""; }; 47B8147DC6434174D9E3054DA3CB4484 /* Pods-IGListKitMessageExample.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-IGListKitMessageExample.modulemap"; sourceTree = ""; }; 482B69229E7DAC666D1463F3576E98ED /* IGListKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-umbrella.h"; sourceTree = ""; }; - 4872833C200EC2313580E95E3769C994 /* IGListAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = ""; }; - 4A4BF204CFCB5D7F1C03B50A8A376566 /* IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = ""; }; - 4ABA1D98607357653369AEE49DC017EC /* IGListMoveIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = ""; }; - 4D64D94469FC419A50263C72FCE291F1 /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = ""; }; - 4F4E7CF7ABFDFA046EEEC93A719A313D /* IGListKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = ""; }; - 4F6ACE9ED3FDAFBDAED7F3FD82F78CB8 /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = ""; }; + 4D09B6713537DC02CCBE6A3D212CF29E /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = ""; }; 4F9A8086AF09CCA586431BFEE5DE2CA3 /* Pods-IGListKitMessageExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitMessageExample.debug.xcconfig"; sourceTree = ""; }; - 54DA4910AC81FEE1F1EED4CAEFDD8E3C /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = ""; }; + 510B587B4E9120E5EBC0275ACB3BADE7 /* NSNumber+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+IGListDiffable.m"; sourceTree = ""; }; + 5325BC8680F74E41EFC55FA4305E4B3D /* NSString+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+IGListDiffable.h"; sourceTree = ""; }; + 54DCD8DC7F724025B5C1AD2A007DE32B /* IGListCollectionContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = ""; }; 5566AE25970A51436D6E32AE60BE5E87 /* Pods-IGListKitMessageExample-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-IGListKitMessageExample-umbrella.h"; sourceTree = ""; }; - 556A9F0AB342AD6CAF91AB51282E7422 /* IGListSingleSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = ""; }; 568FA20FCC9D77DF4FF3A77159CB66AA /* Pods-IGListKitExamples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.release.xcconfig"; sourceTree = ""; }; - 56A37F43EB48F442AE930AABEBEA6180 /* IGListBindingSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionController.h; sourceTree = ""; }; 57D6B0172E92F207DDCC38AA57BBD76C /* Pods_IGListKitMessageExample.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_IGListKitMessageExample.framework; path = "Pods-IGListKitMessageExample.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5AD67CBF10B06F018D94619A90CD46E7 /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = ""; }; - 5D4BAC0163E73DC130C783EDAFE6570D /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = ""; }; + 59B489C9014C299A413141C9AAE9CD1E /* IGListBatchUpdates.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdates.m; sourceTree = ""; }; 5EC090A99FE4CA3786E651AF9C907913 /* Pods-IGListKitTodayExample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitTodayExample.debug.xcconfig"; sourceTree = ""; }; 60C3700A55A1751BE6C71BAEBADD7E7A /* Pods-IGListKitTodayExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-IGListKitTodayExample-dummy.m"; sourceTree = ""; }; - 644FBC71723B45D77C042DC82D508FC7 /* IGListCollectionViewLayout.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListCollectionViewLayout.mm; sourceTree = ""; }; + 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; 65A1389E308E5581D73D099A74A15628 /* Pods-IGListKitMessageExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitMessageExample.release.xcconfig"; sourceTree = ""; }; - 66746A29464E452421A864CD74A22F1E /* IGListSingleSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = ""; }; + 66846BC04A6F1AE7B73E1895500362B0 /* IGListBindingSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionController.m; sourceTree = ""; }; 66BCE978937FA23EB0DDD5A64BBA1980 /* IGListKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-prefix.pch"; sourceTree = ""; }; - 6BB6D7AFF9896D2593BE76DC5E1F8B3C /* IGListBindingSectionControllerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerDataSource.h; sourceTree = ""; }; + 66F35EDAEC3209A27E69740C4D7451B4 /* IGListAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = ""; }; + 687B10A27219C72A0A365771AD752B44 /* IGListAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = ""; }; + 6881EE5DADB9B45D658B0C19D0EE826A /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = ""; }; 6C792A2E75C47ACECE83DE04FE1F9F39 /* IGListKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListKit.modulemap; sourceTree = ""; }; 7200C49C89FA68816227219403B87DBE /* Pods-IGListKitMessageExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-IGListKitMessageExample-acknowledgements.plist"; sourceTree = ""; }; - 729A51CE0B44BEF483322DD19BAA09DF /* IGListBatchUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateState.h; sourceTree = ""; }; - 73EF3E9E97ABE6F14E7D597B5863A4FD /* IGListCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCompatibility.h; sourceTree = ""; }; - 7665463B9BBC7DA45FBF39F6D85449FC /* IGListBindingSectionControllerSelectionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerSelectionDelegate.h; sourceTree = ""; }; - 76ABCDD9895ED63E5D1A02C63337BEAB /* IGListDiff.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListDiff.mm; sourceTree = ""; }; - 795F2F891E5C36603E8D3054FA7062F1 /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = ""; }; + 72A473B7F5ABD3475F4F67E8E56DB18B /* IGListExperiments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = ""; }; + 7343A5F3DBF55CDB484F981721A3D6A9 /* IGListAdapter+UICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+UICollectionView.m"; sourceTree = ""; }; + 7682C8756E0773D6924D8C3790505FEF /* IGListDiff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = ""; }; 7ACA5B41E2D11D0ECE0F0A2D8B3370D5 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 8CC6C371C66B6CFE18CB8D7634281132 /* IGListDiff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = ""; }; - 8E18001732100B9CA79CDF71F062C6EC /* IGListStackedSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = ""; }; - 90C4A500353A4537E2C197792C74F807 /* IGListDiffKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffKit.h; sourceTree = ""; }; + 7E61C320A1EF8E75DD2C40D835D5C428 /* IGListBatchContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchContext.h; sourceTree = ""; }; + 7EC994CDC2D681BA26389F78A7E4B325 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 8C311AD6DD44F75945614572E1ACEB8E /* IGListIndexPathResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = ""; }; + 8EFDD625FC09907ED96234763BA3CFC5 /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = ""; }; 922574DF06D0AD5E3964986609327D1F /* Pods-IGListKitTodayExample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitTodayExample.release.xcconfig"; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 93CB40442BA02516F16E14DF58D9D177 /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = ""; }; 9507E646FDB2D9764FC70560DD8DBEF2 /* Pods-IGListKitTodayExample-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-IGListKitTodayExample-acknowledgements.markdown"; sourceTree = ""; }; - 96DEAC1414EB00DA2F07C92FEC11E1F1 /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = ""; }; - 9763BAD3CB9FE0FA0E89DA0EE6A1CCB4 /* IGListIndexSetResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = ""; }; - 994DBE0F7FA1C13BF05543018DC3C8B9 /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = ""; }; - 9AF01EA4F0E156C824696C9C8D73BFF3 /* IGListCollectionContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = ""; }; - 9CEB70D8B7238FA2E3E5EAB8B4E5C370 /* IGListMoveIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = ""; }; - A129FFDF45FD2FFA06EC766FA2B8EAE0 /* IGListExperiments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = ""; }; - A14DD700C6A6D05B67CEF0D603798E3E /* NSString+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+IGListDiffable.h"; sourceTree = ""; }; - A661A379F89E6DD26CFB8E2BD8303745 /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = ""; }; - A725F37B2A8FCA8E9C286981E5A32971 /* IGListIndexPathResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = ""; }; + 956742DC57FD7BB7862A84780C46B177 /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = ""; }; + 970D9132EFF39CBEE4066D0B0919A14C /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListBatchUpdateData.mm; sourceTree = ""; }; + 995BF000767D90F81FE1FCBD01B19FEE /* IGListSectionMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = ""; }; + 9A10783E66535EA636303C0F2AD98758 /* IGListScrollDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = ""; }; + 9C96BBEF09F7B6E0A65179AAD3421C8C /* NSString+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+IGListDiffable.m"; sourceTree = ""; }; + 9DD4FC21FF61E53375F5902DF761FF8A /* IGListStackedSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListStackedSectionController.m; sourceTree = ""; }; + A26E04DE91BD0C36247DB5E402A16369 /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = ""; }; + A6BCBA1B1504A8213FCB0B265B805C7E /* IGListMoveIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = ""; }; A72EA0FFEA9D25CBF9BD8F7F2CE9F2FE /* Pods-IGListKitExamples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-IGListKitExamples-acknowledgements.plist"; sourceTree = ""; }; A8E514E9DA595A3527E8C938A6CAEB1E /* Pods-IGListKitExamples-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-IGListKitExamples-umbrella.h"; sourceTree = ""; }; - A9B28E9CC3806635A90B28580091F1D2 /* IGListBatchUpdates.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdates.m; sourceTree = ""; }; - ACCF35E34A278680E3CAA7A3ECF50156 /* IGListDisplayHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = ""; }; - B02AFE7E8D44AF01AD4257ACC19D3DD9 /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = ""; }; - B11A43B4BD12947737C8C0F72B2247CC /* IGListStackedSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListStackedSectionController.m; sourceTree = ""; }; - B1E8093AFE507867DA3E27C84AE458F9 /* NSString+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+IGListDiffable.m"; sourceTree = ""; }; + A8F54B5277F7AB817A049AB3438EB578 /* IGListDisplayHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = ""; }; + AC00C760C4B22446B480493EC519FEB1 /* IGListAdapterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = ""; }; + AEDC2194688024CA75ACD12B1BA10F6F /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = ""; }; B2806858B5ED353CF2D8B37BFAE4171C /* Pods-IGListKitMessageExample-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-IGListKitMessageExample-dummy.m"; sourceTree = ""; }; - B2C760FC3E681BAB3B0423384EF26AA1 /* IGListSectionMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = ""; }; - B63C6A64CF66340668996F78DA6BB482 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + B31008C88A28337F92FB3C3EE483AD40 /* IGListDiff.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListDiff.mm; sourceTree = ""; }; + B50B9AB189CFA1D3CCCEBF3DE250DD75 /* IGListSectionMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = ""; }; + B552979928DCD86465CCD0FCF78D9791 /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = ""; }; B66E6B5AEB9406EAEFA9710E6E9962F2 /* Pods-IGListKitMessageExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitMessageExample-resources.sh"; sourceTree = ""; }; - B6C8EA0B604E308A3F6BE3F5091E1BB9 /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = ""; }; - BA490A03B7F07A872496F5EFE395C178 /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = ""; }; - BA858BEAE82DFC0AD29D0A934E18FE21 /* IGListDisplayHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = ""; }; - BB858E0556FC4AF3AD5FB348DDDB5E91 /* IGListIndexPathResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = ""; }; + B6CC78FAEF5E4CE230B04A4CD9FAB1BB /* IGListSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = ""; }; + B85E82205853179C3501A9DABCFC258D /* IGListBatchUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateState.h; sourceTree = ""; }; + BBBF7E4AAF562F141184331AC69327A1 /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = ""; }; BC1C46146C230C9011237AAC07BFBD9C /* Pods-IGListKitExamples.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-IGListKitExamples.modulemap"; sourceTree = ""; }; - C053260F14A7A98487E0ACA55717FE42 /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = ""; }; - C44585EE370964A537D808A43EF142CC /* IGListAdapter+UICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+UICollectionView.h"; sourceTree = ""; }; + C22EE10E426C4F7BA90350EB789862CB /* IGListSingleSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = ""; }; + C362E9BDB9DD0D4D45DC9151F45C4B72 /* IGListMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = ""; }; + C3A7B90D5A52EB67E0BC9A85119E7F60 /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = ""; }; C6A8BD108D2490E4BA19FA93AD18A83C /* Pods-IGListKitTodayExample-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-IGListKitTodayExample-acknowledgements.plist"; sourceTree = ""; }; + C99EC0F480FA1128466B58EF6DC27566 /* IGListAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = ""; }; CA234CE99FD05714C2A7AF7708B24C51 /* IGListKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IGListKit.xcconfig; sourceTree = ""; }; + CA3F29FA269BFE2317600796F9874206 /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = ""; }; + CD0A59AE07DE2FBAC1DEA04987E921FC /* IGListDisplayHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = ""; }; CDDAB8A20B8596ACE7CC916120EE2489 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - CE127FAB1BF88753CC28D2784733F0B4 /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = ""; }; - CE85C45788108D601E7916537307DC35 /* IGListSectionType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionType.h; sourceTree = ""; }; - D852207246B2F5D1F627BF67DDA7442B /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = ""; }; - D880FA5D194D969F5C556B2CCD6E25E0 /* IGListSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = ""; }; - D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.3.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D92E992AEBC0252F553186B4DD932CA1 /* IGListAdapter+UICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+UICollectionView.m"; sourceTree = ""; }; - DD7B209F8A8DEB6886ABDC849DE587B2 /* IGListSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = ""; }; + CDF501644CAFE656EA50A4210D6AD27E /* IGListIndexPathResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = ""; }; + CE414A2EA6CB6CBED92ECF2FCAA93FB4 /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = ""; }; + CFC595C6C8E19C38A1D765F6D6FA80FF /* IGListSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = ""; }; + D23FB7BF896BFEEFDDD84C68714E050F /* IGListStackedSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = ""; }; + D308B26E00256C67AF1B250E57EA5A90 /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = ""; }; + D35B6D2A00763E6B77F2ED16C184C42A /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = ""; }; + D46F2593469C5C10642F0792F36215D8 /* IGListBindingSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionController.h; sourceTree = ""; }; + D600DC55D98B6A40AF3F5A06B3B3E4F4 /* IGListStackedSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionControllerInternal.h; sourceTree = ""; }; + DC5A2DF71C976B84523D86CB1E25BEB0 /* IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = ""; }; + DCF0355CCD9772067D1B2754C74A50AE /* IGListBindingSectionControllerSelectionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerSelectionDelegate.h; sourceTree = ""; }; DE5CE5A84B8F2E7646B7E32B1F54007D /* Pods-IGListKitExamples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-IGListKitExamples-dummy.m"; sourceTree = ""; }; - DFEE8206DE30F07E9418DF174D42A547 /* IGListAdapterProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = ""; }; + DF4D08DE29CE19218D70B615769F150E /* IGListCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCompatibility.h; sourceTree = ""; }; + DF61E7DD86FAD0218CCE3232CF36DE0B /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = ""; }; + DF967ED4C037C2165BEA7E77D35158FA /* IGListIndexSetResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = ""; }; E1915F3ED5785508E2E252B0D5CD0AB9 /* Pods-IGListKitExamples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.debug.xcconfig"; sourceTree = ""; }; - E19298C9E1B4525DB9D8D76C59F61FB1 /* IGListAdapterProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = ""; }; - E30FB2138ECC83E6192A2363B3117E9A /* IGListStackedSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionControllerInternal.h; sourceTree = ""; }; E37246CEB51FFBAABB027FA9502D3172 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - E42343067A5EC2951CEC615AA51847F9 /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListBatchUpdateData.mm; sourceTree = ""; }; + E844B5893674C03F616788BC2E36CA57 /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = ""; }; + EA9433D149ABF204DBEEBA3F4CC45681 /* IGListCollectionViewLayout.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListCollectionViewLayout.mm; sourceTree = ""; }; EC95D5B65CC92046D33001EC1BE7B9A3 /* Pods-IGListKitExamples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-IGListKitExamples-acknowledgements.markdown"; sourceTree = ""; }; - EF0638C6934CDB929BD9A5EA6787BA8E /* IGListAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = ""; }; + ECA7F83E1A5B013DCFF32E098468FFAC /* IGListKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = ""; }; EF77CF1069D312C499D2898F20FB8DC1 /* Pods-IGListKitTodayExample-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitTodayExample-resources.sh"; sourceTree = ""; }; - F07874B03BF66E52DD2EDDA04F070025 /* IGListMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = ""; }; - F75B27505A5437A8CF0A87DDB8C42E27 /* NSNumber+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNumber+IGListDiffable.h"; sourceTree = ""; }; - FDB4C20A1685169EA84832B78AC306E3 /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = ""; }; + F0592D168D6B791B81BEE2EAED011008 /* IGListBindable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindable.h; sourceTree = ""; }; + F25EEA9F924F273B080BFB42755C1A67 /* IGListCollectionViewLayoutInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutInternal.h; sourceTree = ""; }; + F3E88857144064978012FB0FAFB20E4E /* IGListSingleSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = ""; }; + F7A7BE5FE0CAD33BF07A0E9271A0F8EB /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = ""; }; + F98A53984C29D820FA43864EC04C051D /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListWorkingRangeHandler.mm; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 98FC45308808E28EF06D0B20D95CBC28 /* Frameworks */ = { + B2FDE9ED50A78E4384C3AB5BADC034B3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6D06C0234C8729326F1F1D6DB22FB3B7 /* Foundation.framework in Frameworks */, - 566995558406E3FDB910279F9D307F87 /* UIKit.framework in Frameworks */, + 4441ECCCE547C6118B7AD035DF7B28D6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B2FDE9ED50A78E4384C3AB5BADC034B3 /* Frameworks */ = { + CAFF474EE43E51A9AB3AF6DA4B083DAE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 37BF83777D02B65CD12B579762890691 /* Foundation.framework in Frameworks */, + B3FAF94584AFACCA7CDCD30E83FA019A /* Foundation.framework in Frameworks */, + BC5744F76AEED9E1B86966F420BCD839 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -266,7 +264,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 926C32B907129CB26E05EC9BDA1235DA /* Foundation.framework in Frameworks */, + D21C7CE8688679FB2B5159BE89958B22 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -274,23 +272,42 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8E4859877F1E75B63C9FC11D270B4F70 /* Foundation.framework in Frameworks */, + 521D101EE7EF9C5A5B7D92BCCEF1A5BB /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 17731C250AC1B7C4BEF0E897D18B63D3 /* Internal */ = { + 189D75527E34DF9DAC4E4F0362799E74 /* Common */ = { isa = PBXGroup; children = ( - 5D4BAC0163E73DC130C783EDAFE6570D /* IGListIndexPathResultInternal.h */, - 994DBE0F7FA1C13BF05543018DC3C8B9 /* IGListIndexSetResultInternal.h */, - BA490A03B7F07A872496F5EFE395C178 /* IGListMoveIndexInternal.h */, - 4D64D94469FC419A50263C72FCE291F1 /* IGListMoveIndexPathInternal.h */, + 66F35EDAEC3209A27E69740C4D7451B4 /* IGListAssert.h */, + CE414A2EA6CB6CBED92ECF2FCAA93FB4 /* IGListBatchUpdateData.h */, + 970D9132EFF39CBEE4066D0B0919A14C /* IGListBatchUpdateData.mm */, + DF4D08DE29CE19218D70B615769F150E /* IGListCompatibility.h */, + 7682C8756E0773D6924D8C3790505FEF /* IGListDiff.h */, + B31008C88A28337F92FB3C3EE483AD40 /* IGListDiff.mm */, + DC5A2DF71C976B84523D86CB1E25BEB0 /* IGListDiffable.h */, + 14D23A551E4FF4583DFC888CEA39E472 /* IGListDiffKit.h */, + 72A473B7F5ABD3475F4F67E8E56DB18B /* IGListExperiments.h */, + CDF501644CAFE656EA50A4210D6AD27E /* IGListIndexPathResult.h */, + 8C311AD6DD44F75945614572E1ACEB8E /* IGListIndexPathResult.m */, + DF967ED4C037C2165BEA7E77D35158FA /* IGListIndexSetResult.h */, + 3D3BEB704971A62F38D7034C5DC6B51F /* IGListIndexSetResult.m */, + C362E9BDB9DD0D4D45DC9151F45C4B72 /* IGListMacros.h */, + 128C6A71E10962BFD6A26AF9F9D219E7 /* IGListMoveIndex.h */, + A6BCBA1B1504A8213FCB0B265B805C7E /* IGListMoveIndex.m */, + 6881EE5DADB9B45D658B0C19D0EE826A /* IGListMoveIndexPath.h */, + 32D552B6FBB73720D54EC72AB87AFA43 /* IGListMoveIndexPath.m */, + 23A1D794D5A19A2CED90DE5AED52678F /* NSNumber+IGListDiffable.h */, + 510B587B4E9120E5EBC0275ACB3BADE7 /* NSNumber+IGListDiffable.m */, + 5325BC8680F74E41EFC55FA4305E4B3D /* NSString+IGListDiffable.h */, + 9C96BBEF09F7B6E0A65179AAD3421C8C /* NSString+IGListDiffable.m */, + 39B4291699F3673013FAA57224AEF488 /* Internal */, ); - name = Internal; - path = Internal; + name = Common; + path = Common; sourceTree = ""; }; 1C4A812D7A721E4F8A5203A23D92CB45 /* Development Pods */ = { @@ -337,6 +354,18 @@ path = Internal; sourceTree = ""; }; + 39B4291699F3673013FAA57224AEF488 /* Internal */ = { + isa = PBXGroup; + children = ( + 1D897E8542A677B2282FDC558C6BFE27 /* IGListIndexPathResultInternal.h */, + 126B434DC24FC512B902B271C53E716B /* IGListIndexSetResultInternal.h */, + CA3F29FA269BFE2317600796F9874206 /* IGListMoveIndexInternal.h */, + AEDC2194688024CA75ACD12B1BA10F6F /* IGListMoveIndexPathInternal.h */, + ); + name = Internal; + path = Internal; + sourceTree = ""; + }; 3EE9680535CB73BCFDE6DD41E95799B5 /* Pods-IGListKitTodayExample */ = { isa = PBXGroup; children = ( @@ -357,20 +386,11 @@ 433CD3331B6C3787F473C941B61FC68F /* Frameworks */ = { isa = PBXGroup; children = ( - 438B396F6B4147076630CAEFE34282C1 /* iOS */, + E6EE98446B568159EE277B68FD442AF0 /* iOS */, ); name = Frameworks; sourceTree = ""; }; - 438B396F6B4147076630CAEFE34282C1 /* iOS */ = { - isa = PBXGroup; - children = ( - D88AAE1F92055A60CC2FC970D7D34634 /* Foundation.framework */, - B63C6A64CF66340668996F78DA6BB482 /* UIKit.framework */, - ); - name = iOS; - sourceTree = ""; - }; 4938518413AB5FF53AC9FD7D3B4EAA03 /* Support Files */ = { isa = PBXGroup; children = ( @@ -396,34 +416,6 @@ ); sourceTree = ""; }; - 84BE0958AE873D7E5A21122899F05209 /* Internal */ = { - isa = PBXGroup; - children = ( - C44585EE370964A537D808A43EF142CC /* IGListAdapter+UICollectionView.h */, - D92E992AEBC0252F553186B4DD932CA1 /* IGListAdapter+UICollectionView.m */, - 074874E318B94051EF14B2927AFD2989 /* IGListAdapterInternal.h */, - E19298C9E1B4525DB9D8D76C59F61FB1 /* IGListAdapterProxy.h */, - DFEE8206DE30F07E9418DF174D42A547 /* IGListAdapterProxy.m */, - D852207246B2F5D1F627BF67DDA7442B /* IGListAdapterUpdaterInternal.h */, - 0364EA5AEEBB70D20CFB1DE5B618AFFB /* IGListBatchUpdates.h */, - A9B28E9CC3806635A90B28580091F1D2 /* IGListBatchUpdates.m */, - 729A51CE0B44BEF483322DD19BAA09DF /* IGListBatchUpdateState.h */, - 0C88D0D51E01E83285183CAC8C2A9C4F /* IGListCollectionViewLayoutInternal.h */, - ACCF35E34A278680E3CAA7A3ECF50156 /* IGListDisplayHandler.h */, - BA858BEAE82DFC0AD29D0A934E18FE21 /* IGListDisplayHandler.m */, - 4F6ACE9ED3FDAFBDAED7F3FD82F78CB8 /* IGListSectionControllerInternal.h */, - 18EB8795791647A0DA6F9FD3315663C2 /* IGListSectionMap.h */, - B2C760FC3E681BAB3B0423384EF26AA1 /* IGListSectionMap.m */, - E30FB2138ECC83E6192A2363B3117E9A /* IGListStackedSectionControllerInternal.h */, - 317DC5F1FF47DD23A0338F9D0038D2F9 /* IGListWorkingRangeHandler.h */, - 2B3BCC52CA93BDA0DFA312C519216708 /* IGListWorkingRangeHandler.mm */, - 795F2F891E5C36603E8D3054FA7062F1 /* UICollectionView+IGListBatchUpdateData.h */, - 54DA4910AC81FEE1F1EED4CAEFDD8E3C /* UICollectionView+IGListBatchUpdateData.m */, - ); - name = Internal; - path = Internal; - sourceTree = ""; - }; 8F7A3DF8D470AB3D415AAA6D8CCC3498 /* Pods-IGListKitMessageExample */ = { isa = PBXGroup; children = ( @@ -441,51 +433,48 @@ path = "Target Support Files/Pods-IGListKitMessageExample"; sourceTree = ""; }; - 9910CC556C7B1BCB1FFDC36BFFEDF7CB /* Default */ = { + 9CD524C5C9EDB23C1086EF8F6AB5C5A5 /* Diffing */ = { isa = PBXGroup; children = ( - C562601361C84FF2D8FAE24412762764 /* Source */, + EB740994145C21817D42440BB52D6257 /* Source */, ); - name = Default; + name = Diffing; sourceTree = ""; }; - 9CD524C5C9EDB23C1086EF8F6AB5C5A5 /* Diffing */ = { + B08E9A5C29DFE000C3EFD0444A107264 /* Default */ = { isa = PBXGroup; children = ( - EB740994145C21817D42440BB52D6257 /* Source */, + CB533AFF710525021CD248ABE6B4F9D9 /* Source */, ); - name = Diffing; + name = Default; sourceTree = ""; }; - B11F3AD1100A6FB45BDC4CA8D9FD7A54 /* Common */ = { + B28821F3760B653842E9A07EC17F4193 /* Internal */ = { isa = PBXGroup; children = ( - EF0638C6934CDB929BD9A5EA6787BA8E /* IGListAssert.h */, - 1C2FE43C0CF78F08434C00056EEB8E51 /* IGListBatchUpdateData.h */, - E42343067A5EC2951CEC615AA51847F9 /* IGListBatchUpdateData.mm */, - 73EF3E9E97ABE6F14E7D597B5863A4FD /* IGListCompatibility.h */, - 8CC6C371C66B6CFE18CB8D7634281132 /* IGListDiff.h */, - 76ABCDD9895ED63E5D1A02C63337BEAB /* IGListDiff.mm */, - 4A4BF204CFCB5D7F1C03B50A8A376566 /* IGListDiffable.h */, - 90C4A500353A4537E2C197792C74F807 /* IGListDiffKit.h */, - A129FFDF45FD2FFA06EC766FA2B8EAE0 /* IGListExperiments.h */, - BB858E0556FC4AF3AD5FB348DDDB5E91 /* IGListIndexPathResult.h */, - A725F37B2A8FCA8E9C286981E5A32971 /* IGListIndexPathResult.m */, - 9763BAD3CB9FE0FA0E89DA0EE6A1CCB4 /* IGListIndexSetResult.h */, - 4546BD3E894151BCAAE44B5297E2D9ED /* IGListIndexSetResult.m */, - F07874B03BF66E52DD2EDDA04F070025 /* IGListMacros.h */, - 9CEB70D8B7238FA2E3E5EAB8B4E5C370 /* IGListMoveIndex.h */, - 4ABA1D98607357653369AEE49DC017EC /* IGListMoveIndex.m */, - B6C8EA0B604E308A3F6BE3F5091E1BB9 /* IGListMoveIndexPath.h */, - 46EA0BD9A2DDDA3D8B6DD68674FBBB6B /* IGListMoveIndexPath.m */, - F75B27505A5437A8CF0A87DDB8C42E27 /* NSNumber+IGListDiffable.h */, - 27705677615640CBDEF4B4A65CEC6DAB /* NSNumber+IGListDiffable.m */, - A14DD700C6A6D05B67CEF0D603798E3E /* NSString+IGListDiffable.h */, - B1E8093AFE507867DA3E27C84AE458F9 /* NSString+IGListDiffable.m */, - 17731C250AC1B7C4BEF0E897D18B63D3 /* Internal */, + 2AA3D938E87BC264FFE6CCF91469CAE5 /* IGListAdapter+UICollectionView.h */, + 7343A5F3DBF55CDB484F981721A3D6A9 /* IGListAdapter+UICollectionView.m */, + AC00C760C4B22446B480493EC519FEB1 /* IGListAdapterInternal.h */, + 11C6AFCD961C9487C1DCF4F9569E0F82 /* IGListAdapterProxy.h */, + 3394F685B20B72A8649057153CCA97F9 /* IGListAdapterProxy.m */, + B552979928DCD86465CCD0FCF78D9791 /* IGListAdapterUpdaterInternal.h */, + 303FD9E47A846E0F9A20AF4A07181BE4 /* IGListBatchUpdates.h */, + 59B489C9014C299A413141C9AAE9CD1E /* IGListBatchUpdates.m */, + B85E82205853179C3501A9DABCFC258D /* IGListBatchUpdateState.h */, + F25EEA9F924F273B080BFB42755C1A67 /* IGListCollectionViewLayoutInternal.h */, + CD0A59AE07DE2FBAC1DEA04987E921FC /* IGListDisplayHandler.h */, + A8F54B5277F7AB817A049AB3438EB578 /* IGListDisplayHandler.m */, + C3A7B90D5A52EB67E0BC9A85119E7F60 /* IGListSectionControllerInternal.h */, + 995BF000767D90F81FE1FCBD01B19FEE /* IGListSectionMap.h */, + B50B9AB189CFA1D3CCCEBF3DE250DD75 /* IGListSectionMap.m */, + D600DC55D98B6A40AF3F5A06B3B3E4F4 /* IGListStackedSectionControllerInternal.h */, + DF61E7DD86FAD0218CCE3232CF36DE0B /* IGListWorkingRangeHandler.h */, + F98A53984C29D820FA43864EC04C051D /* IGListWorkingRangeHandler.mm */, + 956742DC57FD7BB7862A84780C46B177 /* UICollectionView+IGListBatchUpdateData.h */, + 1530796CFFC53B7E1DF9A05977D6214E /* UICollectionView+IGListBatchUpdateData.m */, ); - name = Common; - path = Common; + name = Internal; + path = Internal; sourceTree = ""; }; C558FA9CB9E7A161E710785BDD919ABA /* Common */ = { @@ -497,42 +486,41 @@ path = Common; sourceTree = ""; }; - C562601361C84FF2D8FAE24412762764 /* Source */ = { + CB533AFF710525021CD248ABE6B4F9D9 /* Source */ = { isa = PBXGroup; children = ( - 4872833C200EC2313580E95E3769C994 /* IGListAdapter.h */, - 346CF0E805BCB29475F51C54C3446F60 /* IGListAdapter.m */, - 2755A1A7B80E83D37C5C30C728E0D05A /* IGListAdapterDataSource.h */, - CE127FAB1BF88753CC28D2784733F0B4 /* IGListAdapterDelegate.h */, - C053260F14A7A98487E0ACA55717FE42 /* IGListAdapterUpdater.h */, - B02AFE7E8D44AF01AD4257ACC19D3DD9 /* IGListAdapterUpdater.m */, - 0C9A1E9B3E5F1234C844DB6E8F9DACA5 /* IGListAdapterUpdaterDelegate.h */, - 1C8FBB359B876D05E7B1144E6CB482CF /* IGListBatchContext.h */, - 2CE1DAD790A6E3026B562667213EB7DE /* IGListBindable.h */, - 56A37F43EB48F442AE930AABEBEA6180 /* IGListBindingSectionController.h */, - 3EA328B1802C70921072D161276A2823 /* IGListBindingSectionController.m */, - 6BB6D7AFF9896D2593BE76DC5E1F8B3C /* IGListBindingSectionControllerDataSource.h */, - 7665463B9BBC7DA45FBF39F6D85449FC /* IGListBindingSectionControllerSelectionDelegate.h */, - 9AF01EA4F0E156C824696C9C8D73BFF3 /* IGListCollectionContext.h */, - 1BCFC6A9A27B34F4E753188D8D26C4DC /* IGListCollectionViewLayout.h */, - 644FBC71723B45D77C042DC82D508FC7 /* IGListCollectionViewLayout.mm */, - 5AD67CBF10B06F018D94619A90CD46E7 /* IGListDisplayDelegate.h */, - 4F4E7CF7ABFDFA046EEEC93A719A313D /* IGListKit.h */, - 35A45B1F7C3DC65CDACD2F05E1B6BF10 /* IGListReloadDataUpdater.h */, - A661A379F89E6DD26CFB8E2BD8303745 /* IGListReloadDataUpdater.m */, - 2DDD5A82C721891238897191543FC970 /* IGListScrollDelegate.h */, - D880FA5D194D969F5C556B2CCD6E25E0 /* IGListSectionController.h */, - DD7B209F8A8DEB6886ABDC849DE587B2 /* IGListSectionController.m */, - CE85C45788108D601E7916537307DC35 /* IGListSectionType.h */, - 66746A29464E452421A864CD74A22F1E /* IGListSingleSectionController.h */, - 556A9F0AB342AD6CAF91AB51282E7422 /* IGListSingleSectionController.m */, - 8E18001732100B9CA79CDF71F062C6EC /* IGListStackedSectionController.h */, - B11A43B4BD12947737C8C0F72B2247CC /* IGListStackedSectionController.m */, - FDB4C20A1685169EA84832B78AC306E3 /* IGListSupplementaryViewSource.h */, - 96DEAC1414EB00DA2F07C92FEC11E1F1 /* IGListUpdatingDelegate.h */, - 2910EE0D10C8EFFDF88D0ACC3A74281E /* IGListWorkingRangeDelegate.h */, - B11F3AD1100A6FB45BDC4CA8D9FD7A54 /* Common */, - 84BE0958AE873D7E5A21122899F05209 /* Internal */, + C99EC0F480FA1128466B58EF6DC27566 /* IGListAdapter.h */, + 687B10A27219C72A0A365771AD752B44 /* IGListAdapter.m */, + D35B6D2A00763E6B77F2ED16C184C42A /* IGListAdapterDataSource.h */, + 93CB40442BA02516F16E14DF58D9D177 /* IGListAdapterDelegate.h */, + D308B26E00256C67AF1B250E57EA5A90 /* IGListAdapterUpdater.h */, + A26E04DE91BD0C36247DB5E402A16369 /* IGListAdapterUpdater.m */, + 13C65DFAC7D98A7582C38E81F6B30209 /* IGListAdapterUpdaterDelegate.h */, + 7E61C320A1EF8E75DD2C40D835D5C428 /* IGListBatchContext.h */, + F0592D168D6B791B81BEE2EAED011008 /* IGListBindable.h */, + D46F2593469C5C10642F0792F36215D8 /* IGListBindingSectionController.h */, + 66846BC04A6F1AE7B73E1895500362B0 /* IGListBindingSectionController.m */, + 464F61A8A2B9C6DA1D4FACCEABC46204 /* IGListBindingSectionControllerDataSource.h */, + DCF0355CCD9772067D1B2754C74A50AE /* IGListBindingSectionControllerSelectionDelegate.h */, + 54DCD8DC7F724025B5C1AD2A007DE32B /* IGListCollectionContext.h */, + 00B833AC8969E7F0B6860E41F5CFF6BF /* IGListCollectionViewLayout.h */, + EA9433D149ABF204DBEEBA3F4CC45681 /* IGListCollectionViewLayout.mm */, + 35236A82A41B046420C7F4C9BE2A586C /* IGListDisplayDelegate.h */, + ECA7F83E1A5B013DCFF32E098468FFAC /* IGListKit.h */, + E844B5893674C03F616788BC2E36CA57 /* IGListReloadDataUpdater.h */, + 4D09B6713537DC02CCBE6A3D212CF29E /* IGListReloadDataUpdater.m */, + 9A10783E66535EA636303C0F2AD98758 /* IGListScrollDelegate.h */, + CFC595C6C8E19C38A1D765F6D6FA80FF /* IGListSectionController.h */, + B6CC78FAEF5E4CE230B04A4CD9FAB1BB /* IGListSectionController.m */, + C22EE10E426C4F7BA90350EB789862CB /* IGListSingleSectionController.h */, + F3E88857144064978012FB0FAFB20E4E /* IGListSingleSectionController.m */, + D23FB7BF896BFEEFDDD84C68714E050F /* IGListStackedSectionController.h */, + 9DD4FC21FF61E53375F5902DF761FF8A /* IGListStackedSectionController.m */, + F7A7BE5FE0CAD33BF07A0E9271A0F8EB /* IGListSupplementaryViewSource.h */, + 8EFDD625FC09907ED96234763BA3CFC5 /* IGListUpdatingDelegate.h */, + BBBF7E4AAF562F141184331AC69327A1 /* IGListWorkingRangeDelegate.h */, + 189D75527E34DF9DAC4E4F0362799E74 /* Common */, + B28821F3760B653842E9A07EC17F4193 /* Internal */, ); name = Source; path = Source; @@ -552,7 +540,7 @@ DF0E1DB7FA55BDD05813C966546E36A5 /* IGListKit */ = { isa = PBXGroup; children = ( - 9910CC556C7B1BCB1FFDC36BFFEDF7CB /* Default */, + B08E9A5C29DFE000C3EFD0444A107264 /* Default */, 9CD524C5C9EDB23C1086EF8F6AB5C5A5 /* Diffing */, 4938518413AB5FF53AC9FD7D3B4EAA03 /* Support Files */, ); @@ -560,6 +548,15 @@ path = ../../..; sourceTree = ""; }; + E6EE98446B568159EE277B68FD442AF0 /* iOS */ = { + isa = PBXGroup; + children = ( + 616BEB51ECCAD129BDBCB7A956B56CC6 /* Foundation.framework */, + 7EC994CDC2D681BA26389F78A7E4B325 /* UIKit.framework */, + ); + name = iOS; + sourceTree = ""; + }; EB740994145C21817D42440BB52D6257 /* Source */ = { isa = PBXGroup; children = ( @@ -580,65 +577,64 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - CB23DB807A305390CADE2B87CB79A7EF /* Headers */ = { + D0CB30267F95241D5FF1E9775249691C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 797E3933D49BAD4FE671EA508ED57CA6 /* IGListAdapter+UICollectionView.h in Headers */, - FADEF09AA304AB30D0788CCEE27B6C26 /* IGListAdapter.h in Headers */, - BE033D25C320D21E1E78EAEF399DF540 /* IGListAdapterDataSource.h in Headers */, - D39048F532A6F87CD37E7FE585A3E13B /* IGListAdapterDelegate.h in Headers */, - 216B9A0D9B39C39620CB170432545CC7 /* IGListAdapterInternal.h in Headers */, - F42FB7150A4425A295AC9272561FC837 /* IGListAdapterProxy.h in Headers */, - 605A1CF6CCD9BFE48975D09C7BBD92FB /* IGListAdapterUpdater.h in Headers */, - 67AF97C3BEA4293AFB90489F666B69ED /* IGListAdapterUpdaterDelegate.h in Headers */, - CF9C21562C5661AD8A2A8A6260A5E40C /* IGListAdapterUpdaterInternal.h in Headers */, - B5E37AB8B0FD348456AFC1865827C476 /* IGListAssert.h in Headers */, - CAA0B73C38FF9D79747061CEA300FE43 /* IGListBatchContext.h in Headers */, - 05B997D548FCBD4318D12FF0A7AFE250 /* IGListBatchUpdateData.h in Headers */, - F8502EF2DD8F30418ACEC041BA9D4F14 /* IGListBatchUpdates.h in Headers */, - EE1E57838126C5EC52FBCE9B73AF386D /* IGListBatchUpdateState.h in Headers */, - DF988DD7BB62B89225475997CC008E76 /* IGListBindable.h in Headers */, - 8BE13BC452BBD6AF12D98167F6437BB0 /* IGListBindingSectionController.h in Headers */, - AF1D580B7009E51DDA6BCB587C675885 /* IGListBindingSectionControllerDataSource.h in Headers */, - BEC4A00B91C60AE346C483AD9787226F /* IGListBindingSectionControllerSelectionDelegate.h in Headers */, - C0DDDB446F14338877DD7DAD209FCA7B /* IGListCollectionContext.h in Headers */, - 2C289EC5F1940E622C1E9C9515E9D63C /* IGListCollectionViewLayout.h in Headers */, - AA959228621573EF42895C3E79DBB5F1 /* IGListCollectionViewLayoutInternal.h in Headers */, - 2B217E3BBEEAC8AA3AC12411586EF587 /* IGListCompatibility.h in Headers */, - AD435BD42B664FEE2FE9BCBD54F7C61A /* IGListDiff.h in Headers */, - 6594BBB981E431D7CADF89730991B9EA /* IGListDiffable.h in Headers */, - 9EDE9C8888626CE5B758BEC5FBCBE54B /* IGListDiffKit.h in Headers */, - AEB28733529A92A19B65E2617E22330A /* IGListDisplayDelegate.h in Headers */, - 495325FE83A69C1D5089869CFBF87F79 /* IGListDisplayHandler.h in Headers */, - FBE3B4BD48418B706C08A2BBBCAAB12A /* IGListExperiments.h in Headers */, - A79B1DA60159B577894013D8B32B329B /* IGListIndexPathResult.h in Headers */, - 7C0A8421653AD00A781CD7EC01F5054B /* IGListIndexPathResultInternal.h in Headers */, - C5221F588F598798E6B5C67ABC811D5D /* IGListIndexSetResult.h in Headers */, - D49D6E968FA458537E5D66989EBF540A /* IGListIndexSetResultInternal.h in Headers */, - F921C07FED77607AEFEDA2C1D17F8D4C /* IGListKit-umbrella.h in Headers */, - C50416B409F87F97D7F272E23E2C7682 /* IGListKit.h in Headers */, - 9FBD59EE9E578D5FF6C0236A63CAC49D /* IGListMacros.h in Headers */, - 70319DC97E9B4DE1F5BC58D1EDE2016E /* IGListMoveIndex.h in Headers */, - A6E3FCCC571A71F885FD5C91DAA25F43 /* IGListMoveIndexInternal.h in Headers */, - A3F79A1526CD319CF9B143F7CFBFCBD4 /* IGListMoveIndexPath.h in Headers */, - F89AE6DCF04A41FA75CBEE3EE414CCCD /* IGListMoveIndexPathInternal.h in Headers */, - E8EBB46E888594B5CECA537E88E97CF4 /* IGListReloadDataUpdater.h in Headers */, - A430864799B42A29A74863F8EA1273A1 /* IGListScrollDelegate.h in Headers */, - 617D208EE2F4324040099D05379AD603 /* IGListSectionController.h in Headers */, - FF5B15DBD33405CC8637A40752E41724 /* IGListSectionControllerInternal.h in Headers */, - B74F811392ED1CD134FB1C41DCD94FEF /* IGListSectionMap.h in Headers */, - 467D85F9089497C49DDCE319388DB38A /* IGListSectionType.h in Headers */, - CF789AB49CEB47D7BB58715DEF765CF9 /* IGListSingleSectionController.h in Headers */, - A00FD6C852B1634EA36CA7C227F2EEAB /* IGListStackedSectionController.h in Headers */, - 267765F661DF26FF813159D6FA3C79B0 /* IGListStackedSectionControllerInternal.h in Headers */, - A23FAB91A05BC3AD922A3E48EFB81908 /* IGListSupplementaryViewSource.h in Headers */, - 2F9515019760E1F75C58F8FA64158F7F /* IGListUpdatingDelegate.h in Headers */, - 3C86764E972AE39C438215AA079794F2 /* IGListWorkingRangeDelegate.h in Headers */, - 16A27EBC494E5231C81C9DB8AC2023DF /* IGListWorkingRangeHandler.h in Headers */, - 9C26D7022982F82BA01B0E1DDBBDC773 /* NSNumber+IGListDiffable.h in Headers */, - 650E02C9C9F5780B47A3E7949972D253 /* NSString+IGListDiffable.h in Headers */, - 5FBBB0F0E1503A1E40C114495CB9637E /* UICollectionView+IGListBatchUpdateData.h in Headers */, + 68098221B21296E0F67530FB69618EDE /* IGListAdapter+UICollectionView.h in Headers */, + 0949EDACD4CEA37D8EB5055CF0DADCE2 /* IGListAdapter.h in Headers */, + E68FCA8AFF1B260CCCD7E8965A84C0BF /* IGListAdapterDataSource.h in Headers */, + 6211C67DEADDC64A24EBBE3C08AEC6B1 /* IGListAdapterDelegate.h in Headers */, + 4D36356099F7D27F964161DD58FB599E /* IGListAdapterInternal.h in Headers */, + 03A1EED34F63073A48D87F6ABDC860D2 /* IGListAdapterProxy.h in Headers */, + 6BAED175CFF597DB7DD9A4A8C2DAA2F5 /* IGListAdapterUpdater.h in Headers */, + 03940F436D9CAD6A80AD21A4A87A6FBE /* IGListAdapterUpdaterDelegate.h in Headers */, + 5E9DBAB061CE4F44D6278684CC927232 /* IGListAdapterUpdaterInternal.h in Headers */, + 75066F38AA7532E4B4F2CDA01A230DFC /* IGListAssert.h in Headers */, + FD51193626A27D0FFEEDF889C005217E /* IGListBatchContext.h in Headers */, + 1313C1E768F70A36D8973366603757AD /* IGListBatchUpdateData.h in Headers */, + 7C2C95FA260EEF383C14DD2D88FB1892 /* IGListBatchUpdates.h in Headers */, + D8C8B3E66CA08064EFC9B3EF209A9D4C /* IGListBatchUpdateState.h in Headers */, + 9CAC31552EFF75E6EB383825ED27CD36 /* IGListBindable.h in Headers */, + BDB3AB34BD3B9795170FC36E5840A040 /* IGListBindingSectionController.h in Headers */, + C8780DF1675B8B7991288FF361B07715 /* IGListBindingSectionControllerDataSource.h in Headers */, + 47CC74846D05CC63B60CC48E94ACA4F8 /* IGListBindingSectionControllerSelectionDelegate.h in Headers */, + 623F244476E6EC9216AF3A13CBA7A2BC /* IGListCollectionContext.h in Headers */, + ACC3E0D0A35D0DCE510E56717B6459A3 /* IGListCollectionViewLayout.h in Headers */, + 2004CA3CC00FEA4658E6DAD2440155AA /* IGListCollectionViewLayoutInternal.h in Headers */, + F8575FA8F32C24920EBAED78C5276E35 /* IGListCompatibility.h in Headers */, + 32EC6349B9DFB7AEA5E51326F9E58A21 /* IGListDiff.h in Headers */, + 37E91E6EC7BD8884BA7B11AA7CEB69CD /* IGListDiffable.h in Headers */, + B20B4945659B2A6683F2A9B5D4533958 /* IGListDiffKit.h in Headers */, + 39F7D48B90796AD505EB5382D1C5943A /* IGListDisplayDelegate.h in Headers */, + ED50CF8481B60B0730B6D9382862A92A /* IGListDisplayHandler.h in Headers */, + ED1BAA686EE1BF39AE753F76EBFEBC07 /* IGListExperiments.h in Headers */, + 24E861206B7055250AD1FD80C4600CB5 /* IGListIndexPathResult.h in Headers */, + FFFB6164411A612BE1696A2E46C67941 /* IGListIndexPathResultInternal.h in Headers */, + 57FF6BD7479F9EC5FEF48816DAB3C6F8 /* IGListIndexSetResult.h in Headers */, + 7360A5B26D5FC84A36401F87C39B63D1 /* IGListIndexSetResultInternal.h in Headers */, + 724B358FDC2C8B94E9F62DEE4A2402A7 /* IGListKit-umbrella.h in Headers */, + D38C4D4A8966F8417A3A4398AA9EB7EA /* IGListKit.h in Headers */, + 76CDE8D61E662E34C4FFD802839F3FBC /* IGListMacros.h in Headers */, + 1E591DC4605E4418A9011BBD4FB842CA /* IGListMoveIndex.h in Headers */, + 8A5CD7D0F4344727B973D2FA4E3D00D1 /* IGListMoveIndexInternal.h in Headers */, + 1C585E84B3CE4372364EE43E4AFEAF80 /* IGListMoveIndexPath.h in Headers */, + DE5A69B50E2E91455E67692D5A97226B /* IGListMoveIndexPathInternal.h in Headers */, + 5C622E4EC1FA7561EB204881DE425858 /* IGListReloadDataUpdater.h in Headers */, + E399187CDD8B843C82CBF5DF2EB154F0 /* IGListScrollDelegate.h in Headers */, + BBB2299B4227968D08C20540E2956D99 /* IGListSectionController.h in Headers */, + 0861666ADF36D27227252177347624AF /* IGListSectionControllerInternal.h in Headers */, + 84533BEED259AB892EC21D3F56A44985 /* IGListSectionMap.h in Headers */, + CC702C39881CED86FB126FE919B16299 /* IGListSingleSectionController.h in Headers */, + 448529535C47B70E4FE04D4638B43D44 /* IGListStackedSectionController.h in Headers */, + 81546E0D43524C590C4DA509B5FB5F08 /* IGListStackedSectionControllerInternal.h in Headers */, + CF5F33E46378A9CE6279AB12B492A460 /* IGListSupplementaryViewSource.h in Headers */, + F0E9EA4BA14E1DCBC12CB94B2062358D /* IGListUpdatingDelegate.h in Headers */, + 57CAA503A9BBB6CEBDF09F07F767EAAD /* IGListWorkingRangeDelegate.h in Headers */, + E64474310FE9C9A2797E172930E38BA7 /* IGListWorkingRangeHandler.h in Headers */, + 5E3769700E068778D2E43545E722B9E6 /* NSNumber+IGListDiffable.h in Headers */, + EC78A471F4030DC277C6E7EF60AD9ADA /* NSString+IGListDiffable.h in Headers */, + A9E6FEB3975323C5E7C885B0CFFFC9A5 /* UICollectionView+IGListBatchUpdateData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -697,13 +693,13 @@ productReference = 3DFBEA9D0D85DB9366D3C949C20332DD /* Pods_IGListKitExamples.framework */; productType = "com.apple.product-type.framework"; }; - 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */ = { + 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */ = { isa = PBXNativeTarget; - buildConfigurationList = DE6B0EB71A4CAE6A9D3C78466A5A35A7 /* Build configuration list for PBXNativeTarget "IGListKit" */; + buildConfigurationList = AE53E7E0AFBB00E1C9C2C8ADFB7C7387 /* Build configuration list for PBXNativeTarget "IGListKit" */; buildPhases = ( - 0F9E1D26CBC5238ED48F336951368F9A /* Sources */, - 98FC45308808E28EF06D0B20D95CBC28 /* Frameworks */, - CB23DB807A305390CADE2B87CB79A7EF /* Headers */, + AD841B1EA4B86A04E0914A1F12D95546 /* Sources */, + CAFF474EE43E51A9AB3AF6DA4B083DAE /* Frameworks */, + D0CB30267F95241D5FF1E9775249691C /* Headers */, ); buildRules = ( ); @@ -738,7 +734,7 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; + LastSwiftUpdateCheck = 0730; LastUpgradeCheck = 0700; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; @@ -753,7 +749,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */, + 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */, 6B7DA8C024D099705CF771FF16E6FC16 /* Pods-IGListKitExamples */, 401DEFF5B4204434A3367C3A45C172EE /* Pods-IGListKitMessageExample */, FA6C50153578D5634418D6966B7AAEDD /* Pods-IGListKitTodayExample */, @@ -770,50 +766,50 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 0F9E1D26CBC5238ED48F336951368F9A /* Sources */ = { + 2FF6C4068B8331D4FA2A47EB9F42A336 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2DA800C7B802CA1BC3BB41B94D05AA31 /* IGListAdapter+UICollectionView.m in Sources */, - 5DD701908F2DB1EBFFB0B8F9B5AF3158 /* IGListAdapter.m in Sources */, - 7C2EBF69D59AFC5138480258AA666F82 /* IGListAdapterProxy.m in Sources */, - 8AB38A97E79D74C6502A6BE09C493840 /* IGListAdapterUpdater.m in Sources */, - C415B08C18815625328D74C3D574B758 /* IGListBatchUpdateData.mm in Sources */, - 35D37D2E885F564FBB997BB89545D4AB /* IGListBatchUpdates.m in Sources */, - B0551D6CCC31FB6C5ECD00B3917A9545 /* IGListBindingSectionController.m in Sources */, - 6D15DC2BB89137494627771D5F62C6FF /* IGListCollectionViewLayout.mm in Sources */, - C05F2E2B8681819BE4AB6F549B975047 /* IGListDiff.mm in Sources */, - 7CB0EA5D06366BA1BBBEC5A498A91765 /* IGListDisplayHandler.m in Sources */, - FF6DBEC5D43AA3B0781B8F313CD17E23 /* IGListIndexPathResult.m in Sources */, - 4979C8847CAD5066AA9D16C2784075BB /* IGListIndexSetResult.m in Sources */, - 3BAD4927741D261829E94DE8D728E54F /* IGListKit-dummy.m in Sources */, - 922ED490D99EB874EB87C670EBC71802 /* IGListMoveIndex.m in Sources */, - E19D4C25139983D03630500270ABBAD4 /* IGListMoveIndexPath.m in Sources */, - 7AEB065C6BC928C87DD7D81CD04BB949 /* IGListReloadDataUpdater.m in Sources */, - 1526BBAB534D19F6E6A5AC9E14302379 /* IGListSectionController.m in Sources */, - 342DA78EA2ECB996076199481C6915C7 /* IGListSectionMap.m in Sources */, - 041621F397C14C8AE34D77AA481D0FD9 /* IGListSingleSectionController.m in Sources */, - A45F5292FC6857C2A410137F4AE79704 /* IGListStackedSectionController.m in Sources */, - E1D629CFB5A8ACD32A6289E92ED5EB15 /* IGListWorkingRangeHandler.mm in Sources */, - 5F9C90267F86D5437B48B838ADE8DCAF /* NSNumber+IGListDiffable.m in Sources */, - AFB2B846F9C192617DD5CBC0F29FE35C /* NSString+IGListDiffable.m in Sources */, - 98BC63EEFDC38B47689277D0D0B022B3 /* UICollectionView+IGListBatchUpdateData.m in Sources */, + 4DC076C43C4AA5A3C88EEC49F5097581 /* Pods-IGListKitMessageExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 2FF6C4068B8331D4FA2A47EB9F42A336 /* Sources */ = { + 8361670856E51102C9B2F59306C2B3B3 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 4DC076C43C4AA5A3C88EEC49F5097581 /* Pods-IGListKitMessageExample-dummy.m in Sources */, + B718064EE1D4B6E9B8212A936CA8EA75 /* Pods-IGListKitTodayExample-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8361670856E51102C9B2F59306C2B3B3 /* Sources */ = { + AD841B1EA4B86A04E0914A1F12D95546 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B718064EE1D4B6E9B8212A936CA8EA75 /* Pods-IGListKitTodayExample-dummy.m in Sources */, + 768F7B3E279D39A2F91B114CD5FE5E84 /* IGListAdapter+UICollectionView.m in Sources */, + 31A1F3DE47B880E4C56553D953AFB710 /* IGListAdapter.m in Sources */, + B8B56A12EBD1462CDEF4353E92E35FBA /* IGListAdapterProxy.m in Sources */, + E83D2ACA6E30D86EE9587391A6080EB2 /* IGListAdapterUpdater.m in Sources */, + 8C11C52690BF01F06C90E0EF4DE4D3AF /* IGListBatchUpdateData.mm in Sources */, + D0A36CB36CE65B4F0F27D57E7184ECE1 /* IGListBatchUpdates.m in Sources */, + CE08053C4854991F8B100E13A2E8ABEF /* IGListBindingSectionController.m in Sources */, + 7000178EE2AC2FEFB89209C5310DCFA0 /* IGListCollectionViewLayout.mm in Sources */, + FAF4CBCED1471115A642F7201378D0EA /* IGListDiff.mm in Sources */, + 49CF56E98BBE1E117FDB251267197BE5 /* IGListDisplayHandler.m in Sources */, + 3870B59722AB9B0DA6221909BC65800C /* IGListIndexPathResult.m in Sources */, + 4FADE33ABC2F792A397E475C38CB2746 /* IGListIndexSetResult.m in Sources */, + 80D4209CFBD9AA2B03753B5F7E5D5972 /* IGListKit-dummy.m in Sources */, + FBBFF5722512DDA16B9C4719B7166028 /* IGListMoveIndex.m in Sources */, + DA464F43C2E620E47B15B890707493EB /* IGListMoveIndexPath.m in Sources */, + 1F02150184A609EF92E1B57FB74CD754 /* IGListReloadDataUpdater.m in Sources */, + 9A307D2F0C698DC77291FB8A88535CC6 /* IGListSectionController.m in Sources */, + F4162B6AFF7677D3F551857782484463 /* IGListSectionMap.m in Sources */, + A30679728ED0BD070BDB612E5F848AAF /* IGListSingleSectionController.m in Sources */, + 4203BDFE4A09C75AB244F28B1DC69223 /* IGListStackedSectionController.m in Sources */, + F106F7B43E45CD6EF136DD00177BED8C /* IGListWorkingRangeHandler.mm in Sources */, + 69D11BC010461B6EAE22CC8C69C4721A /* NSNumber+IGListDiffable.m in Sources */, + ED2C70F38FED47DC72A3F3029F63A57B /* NSString+IGListDiffable.m in Sources */, + 062BD03C11D02C909696E7D8B351531B /* UICollectionView+IGListBatchUpdateData.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -823,101 +819,109 @@ 36C541B7631C30D80576C418E9F06C18 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = IGListKit; - target = 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */; + target = 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */; targetProxy = 42B122D03058E7C3E34ACF0AC2A72140 /* PBXContainerItemProxy */; }; 9B463355891949F736B3B5D678FE8D02 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = IGListKit; - target = 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */; + target = 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */; targetProxy = A0A5426482C447F640D6A192E71D5F5B /* PBXContainerItemProxy */; }; BFAF67A08B878C67ABE4BF370ECEA0C1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = IGListKit; - target = 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */; + target = 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */; targetProxy = 7D332B346FFC0D5E5159546D185DAFEF /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 192EFD8C2112C793E40D7F114C0AAF0C /* Debug */ = { + 015A368F878AC3E2CEAE21DDE8026304 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CA234CE99FD05714C2A7AF7708B24C51 /* IGListKit.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = IGListKit; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; + ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; }; name = Debug; }; - 2F5C4AF020B079E18DBCA3AD0DED78B8 /* Release */ = { + 197EBCEB0EC5F7CAA6982D73F96C09CB /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 922574DF06D0AD5E3964986609327D1F /* Pods-IGListKitTodayExample.release.xcconfig */; + baseConfigurationReference = 4F9A8086AF09CCA586431BFEE5DE2CA3 /* Pods-IGListKitMessageExample.debug.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitTodayExample/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitMessageExample/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitTodayExample/Pods-IGListKitTodayExample.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitMessageExample/Pods-IGListKitMessageExample.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitTodayExample; + PRODUCT_NAME = Pods_IGListKitMessageExample; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 34FE9531DA9AF2820790339988D5FF41 /* Release */ = { + 44CDBB6D11DE06DB64D6268622BDC47E /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -925,13 +929,10 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; @@ -956,82 +957,79 @@ }; name = Release; }; - 52EC95DA29FC44BDD7F96E825C21660F /* Debug */ = { + 4693BD382644669BCFBAEE8EEC9ACAFC /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4F9A8086AF09CCA586431BFEE5DE2CA3 /* Pods-IGListKitMessageExample.debug.xcconfig */; + baseConfigurationReference = CA234CE99FD05714C2A7AF7708B24C51 /* IGListKit.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitMessageExample/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitMessageExample/Pods-IGListKitMessageExample.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitMessageExample; + MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + PRODUCT_NAME = IGListKit; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 83334F9BC33571E0FE26F756A1D4D3C7 /* Release */ = { + 626865CE4C99FBA9E1F5FFE378E50648 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CA234CE99FD05714C2A7AF7708B24C51 /* IGListKit.xcconfig */; + baseConfigurationReference = E1915F3ED5785508E2E252B0D5CD0AB9 /* Pods-IGListKitExamples.debug.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = IGListKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_IGListKitExamples; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 9D0D1C605F30D307DCCA15CE92589601 /* Debug */ = { + ACA8A168549269FFC475C4357D635084 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = E1915F3ED5785508E2E252B0D5CD0AB9 /* Pods-IGListKitExamples.debug.xcconfig */; + baseConfigurationReference = 5EC090A99FE4CA3786E651AF9C907913 /* Pods-IGListKitTodayExample.debug.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1043,18 +1041,18 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitTodayExample/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitTodayExample/Pods-IGListKitTodayExample.modulemap"; MTL_ENABLE_DEBUG_INFO = YES; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitExamples; + PRODUCT_NAME = Pods_IGListKitTodayExample; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1063,11 +1061,11 @@ }; name = Debug; }; - 9E2B4EB30D71326CF064F0765D1CB544 /* Release */ = { + B0E086482AB747F3C6AE0BC7D1AD0034 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 568FA20FCC9D77DF4FF3A77159CB66AA /* Pods-IGListKitExamples.release.xcconfig */; + baseConfigurationReference = 65A1389E308E5581D73D099A74A15628 /* Pods-IGListKitMessageExample.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; + APPLICATION_EXTENSION_API_ONLY = YES; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1079,18 +1077,18 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitMessageExample/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitMessageExample/Pods-IGListKitMessageExample.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitExamples; + PRODUCT_NAME = Pods_IGListKitMessageExample; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1099,12 +1097,10 @@ }; name = Release; }; - 9F699D21AED1019C508AA2967B576C34 /* Release */ = { + B43A2433B75DE95CE8C94635DAF98E9C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 65A1389E308E5581D73D099A74A15628 /* Pods-IGListKitMessageExample.release.xcconfig */; + baseConfigurationReference = 568FA20FCC9D77DF4FF3A77159CB66AA /* Pods-IGListKitExamples.release.xcconfig */; buildSettings = { - APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -1116,18 +1112,18 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitMessageExample/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitMessageExample/Pods-IGListKitMessageExample.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitMessageExample; + PRODUCT_NAME = Pods_IGListKitExamples; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; @@ -1136,17 +1132,16 @@ }; name = Release; }; - A233130C40BCF6FB85F998A9AFFB687B /* Debug */ = { + BB299855973C01172BF9A53C852AC211 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 5EC090A99FE4CA3786E651AF9C907913 /* Pods-IGListKitTodayExample.debug.xcconfig */; + baseConfigurationReference = 922574DF06D0AD5E3964986609327D1F /* Pods-IGListKitTodayExample.release.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -1159,7 +1154,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; MODULEMAP_FILE = "Target Support Files/Pods-IGListKitTodayExample/Pods-IGListKitTodayExample.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; + MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -1171,53 +1166,38 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - C104F7F091290C3D1E248192F07FE689 /* Debug */ = { + D24528AC92E480D4CA3E09ED64F2FA26 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = CA234CE99FD05714C2A7AF7708B24C51 /* IGListKit.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; + APPLICATION_EXTENSION_API_ONLY = YES; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + PRODUCT_NAME = IGListKit; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; }; name = Debug; }; @@ -1227,8 +1207,8 @@ 0FE3BD27B2D26DDCF7A53630AB4BE0DB /* Build configuration list for PBXNativeTarget "Pods-IGListKitTodayExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - A233130C40BCF6FB85F998A9AFFB687B /* Debug */, - 2F5C4AF020B079E18DBCA3AD0DED78B8 /* Release */, + ACA8A168549269FFC475C4357D635084 /* Debug */, + BB299855973C01172BF9A53C852AC211 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1236,8 +1216,8 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - C104F7F091290C3D1E248192F07FE689 /* Debug */, - 34FE9531DA9AF2820790339988D5FF41 /* Release */, + 015A368F878AC3E2CEAE21DDE8026304 /* Debug */, + 44CDBB6D11DE06DB64D6268622BDC47E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1245,8 +1225,8 @@ 447A9F6E709F690B1574347D9E329E3D /* Build configuration list for PBXNativeTarget "Pods-IGListKitExamples" */ = { isa = XCConfigurationList; buildConfigurations = ( - 9D0D1C605F30D307DCCA15CE92589601 /* Debug */, - 9E2B4EB30D71326CF064F0765D1CB544 /* Release */, + 626865CE4C99FBA9E1F5FFE378E50648 /* Debug */, + B43A2433B75DE95CE8C94635DAF98E9C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1254,17 +1234,17 @@ 7DD0F06330B7CFF95DBE709F180B8869 /* Build configuration list for PBXNativeTarget "Pods-IGListKitMessageExample" */ = { isa = XCConfigurationList; buildConfigurations = ( - 52EC95DA29FC44BDD7F96E825C21660F /* Debug */, - 9F699D21AED1019C508AA2967B576C34 /* Release */, + 197EBCEB0EC5F7CAA6982D73F96C09CB /* Debug */, + B0E086482AB747F3C6AE0BC7D1AD0034 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DE6B0EB71A4CAE6A9D3C78466A5A35A7 /* Build configuration list for PBXNativeTarget "IGListKit" */ = { + AE53E7E0AFBB00E1C9C2C8ADFB7C7387 /* Build configuration list for PBXNativeTarget "IGListKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - 192EFD8C2112C793E40D7F114C0AAF0C /* Debug */, - 83334F9BC33571E0FE26F756A1D4D3C7 /* Release */, + D24528AC92E480D4CA3E09ED64F2FA26 /* Debug */, + 4693BD382644669BCFBAEE8EEC9ACAFC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Examples/Examples-iOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h b/Examples/Examples-iOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h index fbb5e62af..7ffaf8f3a 100644 --- a/Examples/Examples-iOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h +++ b/Examples/Examples-iOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h @@ -41,7 +41,6 @@ #import "IGListReloadDataUpdater.h" #import "IGListScrollDelegate.h" #import "IGListSectionController.h" -#import "IGListSectionType.h" #import "IGListSingleSectionController.h" #import "IGListStackedSectionController.h" #import "IGListSupplementaryViewSource.h" diff --git a/Examples/Examples-macOS/Pods/Pods.xcodeproj/project.pbxproj b/Examples/Examples-macOS/Pods/Pods.xcodeproj/project.pbxproj index 6e6f1c92a..31d54d725 100644 --- a/Examples/Examples-macOS/Pods/Pods.xcodeproj/project.pbxproj +++ b/Examples/Examples-macOS/Pods/Pods.xcodeproj/project.pbxproj @@ -355,7 +355,7 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; + LastSwiftUpdateCheck = 0730; LastUpgradeCheck = 0700; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; @@ -413,54 +413,6 @@ /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 4540B30AD9C0E6CB51B2DD9785470495 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - MACOSX_DEPLOYMENT_TARGET = 10.10; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; 5E8548F845176AE6A880A525CB40EBDC /* Release */ = { isa = XCBuildConfiguration; baseConfigurationReference = A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */; @@ -498,12 +450,11 @@ }; name = Release; }; - 945EB9E2C47E9C30E16985278CFFC5AE /* Release */ = { + 9420A7205B8F85520AF134F4EE25F7CC /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -511,13 +462,10 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; @@ -613,6 +561,50 @@ }; name = Release; }; + F653E316AB5F825D3AD0CAE700E37071 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGNING_REQUIRED = NO; + COPY_PHASE_STRIP = NO; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.10; + ONLY_ACTIVE_ARCH = YES; + PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + STRIP_INSTALLED_PRODUCT = NO; + SYMROOT = "${SRCROOT}/../build"; + }; + name = Debug; + }; F95BD364CB89C5ED4B8FEF17898E1A98 /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = F701ADB9374256EAB8FDDFF00B4E5B06 /* IGListKit.xcconfig */; @@ -662,8 +654,8 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 4540B30AD9C0E6CB51B2DD9785470495 /* Debug */, - 945EB9E2C47E9C30E16985278CFFC5AE /* Release */, + F653E316AB5F825D3AD0CAE700E37071 /* Debug */, + 9420A7205B8F85520AF134F4EE25F7CC /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Examples/Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj b/Examples/Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj index 747713f8c..c45b98c97 100644 --- a/Examples/Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj +++ b/Examples/Examples-tvOS/Pods/Pods.xcodeproj/project.pbxproj @@ -7,90 +7,89 @@ objects = { /* Begin PBXBuildFile section */ - 041621F397C14C8AE34D77AA481D0FD9 /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = E2897F812666E23EC5F00711F90755B9 /* IGListSingleSectionController.m */; }; - 05B997D548FCBD4318D12FF0A7AFE250 /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 98D27545817B9B86507F36A142715BAF /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 1526BBAB534D19F6E6A5AC9E14302379 /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E622BFD94D4B2407CBF4F8453AF5FCA /* IGListSectionController.m */; }; - 16A27EBC494E5231C81C9DB8AC2023DF /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0716C14AF42F8349044CFC6730C2871A /* IGListWorkingRangeHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 03940F436D9CAD6A80AD21A4A87A6FBE /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = A0F119277ADEE05C1EB9687DE9DECC6A /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 03A1EED34F63073A48D87F6ABDC860D2 /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = EE904DF85918B451B3CD20FC1240DF3A /* IGListAdapterProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 062BD03C11D02C909696E7D8B351531B /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = A6934883D0295EA0952F9D30EA5DBC24 /* UICollectionView+IGListBatchUpdateData.m */; }; + 0861666ADF36D27227252177347624AF /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 843369E0F36210AC34A3E9B1C02DAE9F /* IGListSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 0949EDACD4CEA37D8EB5055CF0DADCE2 /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = 71D292842CBDC7395CA71B3A240B899E /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1313C1E768F70A36D8973366603757AD /* IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = 8B3B0931DFE49790698E9F41FDA6BACA /* IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Public, ); }; }; 1A89AF7CCCD65D9D5B946363776D05AE /* Pods-IGListKitExamples-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 52054AE893A0AE7FBFC54333D8ABD345 /* Pods-IGListKitExamples-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 216B9A0D9B39C39620CB170432545CC7 /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E9B32BFF702B46B35ACDF62B64DB973 /* IGListAdapterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 267765F661DF26FF813159D6FA3C79B0 /* IGListStackedSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 2B78FF2D73F6F9083457A0C3FCFFAE5B /* IGListStackedSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 2B217E3BBEEAC8AA3AC12411586EF587 /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = 9F97E07C23B6DFC20F6F3337ED131994 /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2C289EC5F1940E622C1E9C9515E9D63C /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = 23F2DBB83D98D8A3ACA3CD893D06FB8E /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2DA800C7B802CA1BC3BB41B94D05AA31 /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7162ADD9BD1BB7F5450FC4F16DAFF9D6 /* IGListAdapter+UICollectionView.m */; }; - 2F9515019760E1F75C58F8FA64158F7F /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = C0869C55869DF35320C775AC4B432F90 /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 342DA78EA2ECB996076199481C6915C7 /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 62F398B1394CD6F5510E34825D1196E3 /* IGListSectionMap.m */; }; - 35D37D2E885F564FBB997BB89545D4AB /* IGListBatchUpdates.m in Sources */ = {isa = PBXBuildFile; fileRef = BE7620951770E2B5548CF5EE3D1CCE1A /* IGListBatchUpdates.m */; }; - 35F29EF39DDC6EA3D784338F15F97449 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAD302BA31CA52C22598677C29AEC7BD /* Foundation.framework */; }; - 3BAD4927741D261829E94DE8D728E54F /* IGListKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C21A7CA00A0F4B5304CF04AF01BD52EF /* IGListKit-dummy.m */; }; - 3C86764E972AE39C438215AA079794F2 /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 27BD89CCB9B0F193F3B71785781A9EBB /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 467D85F9089497C49DDCE319388DB38A /* IGListSectionType.h in Headers */ = {isa = PBXBuildFile; fileRef = EC0F53AB8454C46452D6FB5CC667FE25 /* IGListSectionType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 495325FE83A69C1D5089869CFBF87F79 /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 78509F2ACF77B6287B499EA2C6F70E64 /* IGListDisplayHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 4979C8847CAD5066AA9D16C2784075BB /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F0CE518F7DDF2CE723D68FC755284C9 /* IGListIndexSetResult.m */; }; - 5DD701908F2DB1EBFFB0B8F9B5AF3158 /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = B643A00D8171FFE53D29C7170A3D9978 /* IGListAdapter.m */; }; - 5F9C90267F86D5437B48B838ADE8DCAF /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 444463E1974C74663FE32D05734FEFF0 /* NSNumber+IGListDiffable.m */; }; - 5FBBB0F0E1503A1E40C114495CB9637E /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = A0865C2A34A8AEA3708B86BCE5F730A7 /* UICollectionView+IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 605A1CF6CCD9BFE48975D09C7BBD92FB /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = E3B05E7A725847712C7619BEEA6FD217 /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 617D208EE2F4324040099D05379AD603 /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 157F1620B8135332666D76625EDFB63C /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 650E02C9C9F5780B47A3E7949972D253 /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F0658E47D5FA4859C0F4428CF713647 /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6594BBB981E431D7CADF89730991B9EA /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 5FABABCD1B5611C56849B27FBA185F67 /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 67AF97C3BEA4293AFB90489F666B69ED /* IGListAdapterUpdaterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 8495DF4D5478833A7B9FEFF384CFA6E3 /* IGListAdapterUpdaterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 6D15DC2BB89137494627771D5F62C6FF /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0BC494F57B4B044A847C084414EC4878 /* IGListCollectionViewLayout.mm */; }; - 70319DC97E9B4DE1F5BC58D1EDE2016E /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = 8610E205B260A49C3EA4C02CC8627F73 /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 797E3933D49BAD4FE671EA508ED57CA6 /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 7ADACD29C2F5F2643ACFD0EF819C4387 /* IGListAdapter+UICollectionView.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7AEB065C6BC928C87DD7D81CD04BB949 /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 8FF4FD512CCEEAAC9480D1B4FA066B38 /* IGListReloadDataUpdater.m */; }; - 7C0A8421653AD00A781CD7EC01F5054B /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = F9416548A72B463B7F268957525FA3FD /* IGListIndexPathResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - 7C2EBF69D59AFC5138480258AA666F82 /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 140437EC7F8A4897304116AC7C851A04 /* IGListAdapterProxy.m */; }; - 7CB0EA5D06366BA1BBBEC5A498A91765 /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D74538F710077C6FBFC7B5AA0B27B47 /* IGListDisplayHandler.m */; }; - 81B5FC4A0C415BA467A19194454BA236 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9007AF4BA9E200F9154E7B1DB0BEA9CB /* UIKit.framework */; }; - 8AB38A97E79D74C6502A6BE09C493840 /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = C2725FD90D5ADD907AC90F112F5255C7 /* IGListAdapterUpdater.m */; }; - 8BE13BC452BBD6AF12D98167F6437BB0 /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 19199E506461D5E8964683AB60869D59 /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 922ED490D99EB874EB87C670EBC71802 /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 53228E7DA3F835E8ECC38EB11642FC1D /* IGListMoveIndex.m */; }; - 98BC63EEFDC38B47689277D0D0B022B3 /* UICollectionView+IGListBatchUpdateData.m in Sources */ = {isa = PBXBuildFile; fileRef = BFEF2175C8678241A61348F1858F28E6 /* UICollectionView+IGListBatchUpdateData.m */; }; - 9C26D7022982F82BA01B0E1DDBBDC773 /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6E7F48597381270B6C23908B60CA90AC /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9EDE9C8888626CE5B758BEC5FBCBE54B /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 69C2A6E76504A4D0C771ED29A4CEE7EB /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9FBD59EE9E578D5FF6C0236A63CAC49D /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E2185C0062BB2D428AD12234F1DEFB9 /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A00FD6C852B1634EA36CA7C227F2EEAB /* IGListStackedSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0210CC663A5A27C19445713588C3681C /* IGListStackedSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A23FAB91A05BC3AD922A3E48EFB81908 /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 0423757D818F746D5683F5ECF72D99B2 /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A3F79A1526CD319CF9B143F7CFBFCBD4 /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = DCE3A723D1C7896767299569B9D33C0A /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A430864799B42A29A74863F8EA1273A1 /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = A981B9D8098A872418863133E9B605AF /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A45F5292FC6857C2A410137F4AE79704 /* IGListStackedSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5A01D5A5A7CA64854855A92386C6CB55 /* IGListStackedSectionController.m */; }; - A6E3FCCC571A71F885FD5C91DAA25F43 /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 5B09970CDF24E2761E98EF6AE3266313 /* IGListMoveIndexInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - A79B1DA60159B577894013D8B32B329B /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = F0856464368FF15747C625188555FB8A /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AA959228621573EF42895C3E79DBB5F1 /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 73D4884DCCD551FFC17C7540F8C50423 /* IGListCollectionViewLayoutInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - AD435BD42B664FEE2FE9BCBD54F7C61A /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = DD9EE72C15A38E587584B5674F1849E5 /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AEB28733529A92A19B65E2617E22330A /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = FA153A1269F92F52E36A9DE843181562 /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AF1D580B7009E51DDA6BCB587C675885 /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 7A095F45E058ADFCF130ACF8F4AA67F5 /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - AFB2B846F9C192617DD5CBC0F29FE35C /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 8BA583DE4CF43EC197F68E9F43EE948C /* NSString+IGListDiffable.m */; }; - B0551D6CCC31FB6C5ECD00B3917A9545 /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = D4B8E899821CD40BFFAF3614620EED48 /* IGListBindingSectionController.m */; }; - B1BBDF57A8F8803F287001BA5C15D3CB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CAD302BA31CA52C22598677C29AEC7BD /* Foundation.framework */; }; - B5E37AB8B0FD348456AFC1865827C476 /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 5477ED0E9B72D8827504B21D61D9F3ED /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B74F811392ED1CD134FB1C41DCD94FEF /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 2C199F45D9A51E99DFFBF9B9B50669B1 /* IGListSectionMap.h */; settings = {ATTRIBUTES = (Private, ); }; }; - BE033D25C320D21E1E78EAEF399DF540 /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CA20891FF681043229F0C92331F5651C /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; - BEC4A00B91C60AE346C483AD9787226F /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = D2615ECCAAD44BE035A8A9784855FE75 /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C05F2E2B8681819BE4AB6F549B975047 /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = 565FCE812910D0139514F6F46E49F7B4 /* IGListDiff.mm */; }; - C0DDDB446F14338877DD7DAD209FCA7B /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 73173C14E4FA5FEBF57DBA929E3BBA65 /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C415B08C18815625328D74C3D574B758 /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = F2E58561303A28918AF40C2AA401CD78 /* IGListBatchUpdateData.mm */; }; + 1C585E84B3CE4372364EE43E4AFEAF80 /* IGListMoveIndexPath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E7F6E37DED5E3A27E35A3CDB1589198 /* IGListMoveIndexPath.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1E591DC4605E4418A9011BBD4FB842CA /* IGListMoveIndex.h in Headers */ = {isa = PBXBuildFile; fileRef = EDD9B292FFD9097C52D95DA30973D5D1 /* IGListMoveIndex.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 1F02150184A609EF92E1B57FB74CD754 /* IGListReloadDataUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 466527968E18AB3A4B115BA531A7F797 /* IGListReloadDataUpdater.m */; }; + 2004CA3CC00FEA4658E6DAD2440155AA /* IGListCollectionViewLayoutInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = D4AE29ED2CDFB2A072D3A55E6997BAFD /* IGListCollectionViewLayoutInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 24E861206B7055250AD1FD80C4600CB5 /* IGListIndexPathResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 360E18418B65DD1AA32177DE8DEDA259 /* IGListIndexPathResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 31A1F3DE47B880E4C56553D953AFB710 /* IGListAdapter.m in Sources */ = {isa = PBXBuildFile; fileRef = 5CF3B678F933390E295BE9B7507417C7 /* IGListAdapter.m */; }; + 32EC6349B9DFB7AEA5E51326F9E58A21 /* IGListDiff.h in Headers */ = {isa = PBXBuildFile; fileRef = A116130ABA207F6B262B9FD5C8462B95 /* IGListDiff.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 37E91E6EC7BD8884BA7B11AA7CEB69CD /* IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 60542FA4469BF7C358B3B8E6B3A9AE42 /* IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 3870B59722AB9B0DA6221909BC65800C /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E18642CC69BCEAB117705EDBAB9C001 /* IGListIndexPathResult.m */; }; + 39F7D48B90796AD505EB5382D1C5943A /* IGListDisplayDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F74F9CF73BCE9B8C557AED9A4C90F67 /* IGListDisplayDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 4203BDFE4A09C75AB244F28B1DC69223 /* IGListStackedSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD00D7C7C7CBBE5D93D64CA29A2F828B /* IGListStackedSectionController.m */; }; + 448529535C47B70E4FE04D4638B43D44 /* IGListStackedSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E30C8E67872B0135182C5B250711F96 /* IGListStackedSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 47CC74846D05CC63B60CC48E94ACA4F8 /* IGListBindingSectionControllerSelectionDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 5A4ADA3D51BD5D0FBDF959C25550E87D /* IGListBindingSectionControllerSelectionDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 49CF56E98BBE1E117FDB251267197BE5 /* IGListDisplayHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 50B710E60FC94E145F4E10A44BF7E4DF /* IGListDisplayHandler.m */; }; + 4D36356099F7D27F964161DD58FB599E /* IGListAdapterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 4AFA4B82902C1C0DC15BE4208ED577FD /* IGListAdapterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 4FADE33ABC2F792A397E475C38CB2746 /* IGListIndexSetResult.m in Sources */ = {isa = PBXBuildFile; fileRef = A2BCA5B70277306AA3CD198B6DAAFE06 /* IGListIndexSetResult.m */; }; + 57CAA503A9BBB6CEBDF09F07F767EAAD /* IGListWorkingRangeDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 85011A44F4F1BD985B3B65512F30EDD7 /* IGListWorkingRangeDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 57FF6BD7479F9EC5FEF48816DAB3C6F8 /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 262390EA78B5770840FC2DDE2ADC17EE /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5A8A0582451CCCA0328F9EFEC66E98A8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */; }; + 5C622E4EC1FA7561EB204881DE425858 /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = E2AD9F902DB9DDEC40F47D0703D86973 /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E3769700E068778D2E43545E722B9E6 /* NSNumber+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 222AD7A986EA94CD35002A93D1C4484E /* NSNumber+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5E9DBAB061CE4F44D6278684CC927232 /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 67C3EEF281DCD3DA63AF21313A98F2ED /* IGListAdapterUpdaterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 6211C67DEADDC64A24EBBE3C08AEC6B1 /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 98B40E3FFCF63A72B6836DD55B9A1BE2 /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 623F244476E6EC9216AF3A13CBA7A2BC /* IGListCollectionContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 50ED2AD746666AA14020A1C381D36ADE /* IGListCollectionContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 6585F8BC4AE0EA2DC16B62B159CAE397 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */; }; + 68098221B21296E0F67530FB69618EDE /* IGListAdapter+UICollectionView.h in Headers */ = {isa = PBXBuildFile; fileRef = 530DEB81E9962DF5C4AD94BB4B596F19 /* IGListAdapter+UICollectionView.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 69D11BC010461B6EAE22CC8C69C4721A /* NSNumber+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 9D3511E073B45B6C89BDDE077DC17E49 /* NSNumber+IGListDiffable.m */; }; + 6BAED175CFF597DB7DD9A4A8C2DAA2F5 /* IGListAdapterUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = 1C7E1E8E65FCA30D6F64685E53D4CBEC /* IGListAdapterUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7000178EE2AC2FEFB89209C5310DCFA0 /* IGListCollectionViewLayout.mm in Sources */ = {isa = PBXBuildFile; fileRef = A11317170C68D1D36D8597ED46E2EF24 /* IGListCollectionViewLayout.mm */; }; + 724B358FDC2C8B94E9F62DEE4A2402A7 /* IGListKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9699862731767A477E47D42C41975A56 /* IGListKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7360A5B26D5FC84A36401F87C39B63D1 /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 1A3BADB3F4E6D49068DEB81F0329F890 /* IGListIndexSetResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 75066F38AA7532E4B4F2CDA01A230DFC /* IGListAssert.h in Headers */ = {isa = PBXBuildFile; fileRef = 3758647F9E8569D2F8F54282F9B8082C /* IGListAssert.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 768F7B3E279D39A2F91B114CD5FE5E84 /* IGListAdapter+UICollectionView.m in Sources */ = {isa = PBXBuildFile; fileRef = 6E8ED28DCD20B123AA77EAA34AFDCA8C /* IGListAdapter+UICollectionView.m */; }; + 76CDE8D61E662E34C4FFD802839F3FBC /* IGListMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = 95BD5AE63592255E2120BDFB5EE10028 /* IGListMacros.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7C2C95FA260EEF383C14DD2D88FB1892 /* IGListBatchUpdates.h in Headers */ = {isa = PBXBuildFile; fileRef = 00EA84FBDBBDF3CBD5AA468300F99514 /* IGListBatchUpdates.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 80D4209CFBD9AA2B03753B5F7E5D5972 /* IGListKit-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C21A7CA00A0F4B5304CF04AF01BD52EF /* IGListKit-dummy.m */; }; + 81546E0D43524C590C4DA509B5FB5F08 /* IGListStackedSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE8B36A7142E42AA26D09DCEAB7C943 /* IGListStackedSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 84533BEED259AB892EC21D3F56A44985 /* IGListSectionMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 9710FF13886D3F1795E373E171894B50 /* IGListSectionMap.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8A5CD7D0F4344727B973D2FA4E3D00D1 /* IGListMoveIndexInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = A3AD2928D17B674D17BE650C35F4EA10 /* IGListMoveIndexInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + 8C11C52690BF01F06C90E0EF4DE4D3AF /* IGListBatchUpdateData.mm in Sources */ = {isa = PBXBuildFile; fileRef = 97872D04E4EA99D2ADD770B7C9CD393B /* IGListBatchUpdateData.mm */; }; + 9A307D2F0C698DC77291FB8A88535CC6 /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = E2881BA2B9366B93C9945FB986505978 /* IGListSectionController.m */; }; + 9CAC31552EFF75E6EB383825ED27CD36 /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = 1F6053B42450A1551895423F78EEEC5D /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + A30679728ED0BD070BDB612E5F848AAF /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E244C61F77FAF3DEB6143958ECF6E6E /* IGListSingleSectionController.m */; }; + A9E6FEB3975323C5E7C885B0CFFFC9A5 /* UICollectionView+IGListBatchUpdateData.h in Headers */ = {isa = PBXBuildFile; fileRef = E3561B9F634825AD59FC41AD0C218435 /* UICollectionView+IGListBatchUpdateData.h */; settings = {ATTRIBUTES = (Private, ); }; }; + ACC3E0D0A35D0DCE510E56717B6459A3 /* IGListCollectionViewLayout.h in Headers */ = {isa = PBXBuildFile; fileRef = F1430542688592FE4900C2CE699CEBF8 /* IGListCollectionViewLayout.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B20B4945659B2A6683F2A9B5D4533958 /* IGListDiffKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 296D0E1F9E4B91617E6E24FAEA7F28B8 /* IGListDiffKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B8B56A12EBD1462CDEF4353E92E35FBA /* IGListAdapterProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F26D47BE5596FE0D227FA778564423 /* IGListAdapterProxy.m */; }; + BBB2299B4227968D08C20540E2956D99 /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 84AA84A1D9842FE578735FB89C131418 /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + BDB3AB34BD3B9795170FC36E5840A040 /* IGListBindingSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = C4C1D21B36E055279385F8EDB5621015 /* IGListBindingSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; C4C4C1B02AFD7277F00A40570658152C /* Pods-IGListKitExamples-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2F5AE0385534EC7E6CA75003A7280492 /* Pods-IGListKitExamples-dummy.m */; }; - C50416B409F87F97D7F272E23E2C7682 /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = 93C89F51A2F9980260123C04080C9A64 /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - C5221F588F598798E6B5C67ABC811D5D /* IGListIndexSetResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 16DA8D8B870FACC99DC45320C8BAC32A /* IGListIndexSetResult.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CAA0B73C38FF9D79747061CEA300FE43 /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = E6946AE400C20E7AF1FF4B8030E81DF7 /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CF789AB49CEB47D7BB58715DEF765CF9 /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BBE0BDB1B66D90A84A801BD95009A52 /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - CF9C21562C5661AD8A2A8A6260A5E40C /* IGListAdapterUpdaterInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = DFBED4A475C6BDD2EBB82C07E56E3D8C /* IGListAdapterUpdaterInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - D39048F532A6F87CD37E7FE585A3E13B /* IGListAdapterDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = B43963A259B99304B038CBFC99D72BA4 /* IGListAdapterDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D49D6E968FA458537E5D66989EBF540A /* IGListIndexSetResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 26599AE8251C541D1D3E8E3145C3A184 /* IGListIndexSetResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - DF988DD7BB62B89225475997CC008E76 /* IGListBindable.h in Headers */ = {isa = PBXBuildFile; fileRef = BBF7C67B395233A41D9878795E857359 /* IGListBindable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - E19D4C25139983D03630500270ABBAD4 /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 141BFF575AA18AE6835BEB712DBE7352 /* IGListMoveIndexPath.m */; }; - E1D629CFB5A8ACD32A6289E92ED5EB15 /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2E727EC73317E0ACA7E76BC82DB94F85 /* IGListWorkingRangeHandler.mm */; }; - E8EBB46E888594B5CECA537E88E97CF4 /* IGListReloadDataUpdater.h in Headers */ = {isa = PBXBuildFile; fileRef = F79275F087CC703F34E465FFC0664BC8 /* IGListReloadDataUpdater.h */; settings = {ATTRIBUTES = (Public, ); }; }; - EE1E57838126C5EC52FBCE9B73AF386D /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = 8241D5D8E17FAAE6A292AA82CEEB2273 /* IGListBatchUpdateState.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F42FB7150A4425A295AC9272561FC837 /* IGListAdapterProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C4AC227E95BB147BEFEB13EBCBF8A51 /* IGListAdapterProxy.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F8502EF2DD8F30418ACEC041BA9D4F14 /* IGListBatchUpdates.h in Headers */ = {isa = PBXBuildFile; fileRef = 8C1903C75ECD79345796CC19EE4D61CB /* IGListBatchUpdates.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F89AE6DCF04A41FA75CBEE3EE414CCCD /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = E5B1AD61849CC787F85A53C7A91BA5B7 /* IGListMoveIndexPathInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - F921C07FED77607AEFEDA2C1D17F8D4C /* IGListKit-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 9699862731767A477E47D42C41975A56 /* IGListKit-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FADEF09AA304AB30D0788CCEE27B6C26 /* IGListAdapter.h in Headers */ = {isa = PBXBuildFile; fileRef = B4DDAB1B520A43159D1B5CB758651BD3 /* IGListAdapter.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FBE3B4BD48418B706C08A2BBBCAAB12A /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = AB20295540CA2B335ECC79CA24350D1E /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; }; - FF5B15DBD33405CC8637A40752E41724 /* IGListSectionControllerInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = C07DD5CCC1CFBFDDA08AF7342D3556DB /* IGListSectionControllerInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; - FF6DBEC5D43AA3B0781B8F313CD17E23 /* IGListIndexPathResult.m in Sources */ = {isa = PBXBuildFile; fileRef = 593FD33A1C901819FB10B7EE9EBED7A7 /* IGListIndexPathResult.m */; }; + C8780DF1675B8B7991288FF361B07715 /* IGListBindingSectionControllerDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 1E217674548B7A8AAB3A193441A03FA8 /* IGListBindingSectionControllerDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CC702C39881CED86FB126FE919B16299 /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 9B4968482C8B06D34B141AC7A0DF5980 /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; + CE08053C4854991F8B100E13A2E8ABEF /* IGListBindingSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = F773CB63AF3E7197EB85E471677A4DA0 /* IGListBindingSectionController.m */; }; + CF5F33E46378A9CE6279AB12B492A460 /* IGListSupplementaryViewSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 6175720FB9C5A7C4BBFBED0CDC51BBB7 /* IGListSupplementaryViewSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D0A36CB36CE65B4F0F27D57E7184ECE1 /* IGListBatchUpdates.m in Sources */ = {isa = PBXBuildFile; fileRef = 5F7B2830B66DF7E6AFAB9F2EC83EC9A8 /* IGListBatchUpdates.m */; }; + D38C4D4A8966F8417A3A4398AA9EB7EA /* IGListKit.h in Headers */ = {isa = PBXBuildFile; fileRef = E26AFDA8F10704900B8981132054DBFD /* IGListKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D8C8B3E66CA08064EFC9B3EF209A9D4C /* IGListBatchUpdateState.h in Headers */ = {isa = PBXBuildFile; fileRef = ECA4CB1FC2F1AE1A286FF67B2E31FAFB /* IGListBatchUpdateState.h */; settings = {ATTRIBUTES = (Private, ); }; }; + DA464F43C2E620E47B15B890707493EB /* IGListMoveIndexPath.m in Sources */ = {isa = PBXBuildFile; fileRef = 79B9F159F35155BBD019A119BE9B0456 /* IGListMoveIndexPath.m */; }; + DE5A69B50E2E91455E67692D5A97226B /* IGListMoveIndexPathInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = FB4CF11D48CE782E4E63E17845FF6D02 /* IGListMoveIndexPathInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E399187CDD8B843C82CBF5DF2EB154F0 /* IGListScrollDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = CB736C8EBF6AACFF25047A7DC530163F /* IGListScrollDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E64474310FE9C9A2797E172930E38BA7 /* IGListWorkingRangeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 5E39FA0C8CA397B18F2E0EB8F952E7D3 /* IGListWorkingRangeHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + E68FCA8AFF1B260CCCD7E8965A84C0BF /* IGListAdapterDataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FFD064881EFEB9AC6AC90DEDDCD9E2 /* IGListAdapterDataSource.h */; settings = {ATTRIBUTES = (Public, ); }; }; + E83D2ACA6E30D86EE9587391A6080EB2 /* IGListAdapterUpdater.m in Sources */ = {isa = PBXBuildFile; fileRef = 31C28920FD418640B7DC79C2709FF693 /* IGListAdapterUpdater.m */; }; + EC78A471F4030DC277C6E7EF60AD9ADA /* NSString+IGListDiffable.h in Headers */ = {isa = PBXBuildFile; fileRef = 65FBDA2290186A6699069E837CFDC6C0 /* NSString+IGListDiffable.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED1BAA686EE1BF39AE753F76EBFEBC07 /* IGListExperiments.h in Headers */ = {isa = PBXBuildFile; fileRef = F1390996C6BD24E350094C4AB1A423D0 /* IGListExperiments.h */; settings = {ATTRIBUTES = (Public, ); }; }; + ED2C70F38FED47DC72A3F3029F63A57B /* NSString+IGListDiffable.m in Sources */ = {isa = PBXBuildFile; fileRef = 13FEE229B41619D7BC7677329408763B /* NSString+IGListDiffable.m */; }; + ED50CF8481B60B0730B6D9382862A92A /* IGListDisplayHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6A19500DB2D92F472116DCA3C9089CD2 /* IGListDisplayHandler.h */; settings = {ATTRIBUTES = (Private, ); }; }; + F0E9EA4BA14E1DCBC12CB94B2062358D /* IGListUpdatingDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = A0761FD2FB3B684EBAD6DDB306491E78 /* IGListUpdatingDelegate.h */; settings = {ATTRIBUTES = (Public, ); }; }; + F106F7B43E45CD6EF136DD00177BED8C /* IGListWorkingRangeHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3958987E3581C1F2CCCB453F8B0D63E1 /* IGListWorkingRangeHandler.mm */; }; + F4162B6AFF7677D3F551857782484463 /* IGListSectionMap.m in Sources */ = {isa = PBXBuildFile; fileRef = 368B71FA5D99C1147A54652CCD178139 /* IGListSectionMap.m */; }; + F8575FA8F32C24920EBAED78C5276E35 /* IGListCompatibility.h in Headers */ = {isa = PBXBuildFile; fileRef = BBB90CB906E8ACBA10FEA2C443C85AB0 /* IGListCompatibility.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FAF4CBCED1471115A642F7201378D0EA /* IGListDiff.mm in Sources */ = {isa = PBXBuildFile; fileRef = DE7605F830EB4893847C2E70ACADD842 /* IGListDiff.mm */; }; + FBAD60C071D8EB54F135C41C73B06F29 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */; }; + FBBFF5722512DDA16B9C4719B7166028 /* IGListMoveIndex.m in Sources */ = {isa = PBXBuildFile; fileRef = 08541C827A48A9360F67DEE5E70B1BF5 /* IGListMoveIndex.m */; }; + FD51193626A27D0FFEEDF889C005217E /* IGListBatchContext.h in Headers */ = {isa = PBXBuildFile; fileRef = 7DAB88F99457C3CF7C5AA35BBDF1FB75 /* IGListBatchContext.h */; settings = {ATTRIBUTES = (Public, ); }; }; + FFFB6164411A612BE1696A2E46C67941 /* IGListIndexPathResultInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 0BB2EE0BD88EC850E2A3ABD282B259BB /* IGListIndexPathResultInternal.h */; settings = {ATTRIBUTES = (Private, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -98,119 +97,118 @@ isa = PBXContainerItemProxy; containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; proxyType = 1; - remoteGlobalIDString = 798141DD114EDC1DDCA359E64B5591DB; + remoteGlobalIDString = 7E8FA01AD073C38BEBF299EE44B91444; remoteInfo = IGListKit; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0210CC663A5A27C19445713588C3681C /* IGListStackedSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = ""; }; - 0423757D818F746D5683F5ECF72D99B2 /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = ""; }; - 0716C14AF42F8349044CFC6730C2871A /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = ""; }; - 0BBE0BDB1B66D90A84A801BD95009A52 /* IGListSingleSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = ""; }; - 0BC494F57B4B044A847C084414EC4878 /* IGListCollectionViewLayout.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListCollectionViewLayout.mm; sourceTree = ""; }; - 140437EC7F8A4897304116AC7C851A04 /* IGListAdapterProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = ""; }; - 141BFF575AA18AE6835BEB712DBE7352 /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = ""; }; - 157F1620B8135332666D76625EDFB63C /* IGListSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = ""; }; - 16DA8D8B870FACC99DC45320C8BAC32A /* IGListIndexSetResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = ""; }; - 19199E506461D5E8964683AB60869D59 /* IGListBindingSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionController.h; sourceTree = ""; }; + 00EA84FBDBBDF3CBD5AA468300F99514 /* IGListBatchUpdates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdates.h; sourceTree = ""; }; + 08541C827A48A9360F67DEE5E70B1BF5 /* IGListMoveIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = ""; }; + 0BB2EE0BD88EC850E2A3ABD282B259BB /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = ""; }; + 13FEE229B41619D7BC7677329408763B /* NSString+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+IGListDiffable.m"; sourceTree = ""; }; + 1A3BADB3F4E6D49068DEB81F0329F890 /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = ""; }; 1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.debug.xcconfig"; sourceTree = ""; }; + 1C7E1E8E65FCA30D6F64685E53D4CBEC /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = ""; }; 1DC4F8DCC1835BACB957FEAD24EF8700 /* IGListKit.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = IGListKit.xcconfig; sourceTree = ""; }; - 1E2185C0062BB2D428AD12234F1DEFB9 /* IGListMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = ""; }; - 23F2DBB83D98D8A3ACA3CD893D06FB8E /* IGListCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayout.h; sourceTree = ""; }; - 26599AE8251C541D1D3E8E3145C3A184 /* IGListIndexSetResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResultInternal.h; sourceTree = ""; }; - 27BD89CCB9B0F193F3B71785781A9EBB /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = ""; }; - 2B78FF2D73F6F9083457A0C3FCFFAE5B /* IGListStackedSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionControllerInternal.h; sourceTree = ""; }; - 2C199F45D9A51E99DFFBF9B9B50669B1 /* IGListSectionMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = ""; }; - 2D74538F710077C6FBFC7B5AA0B27B47 /* IGListDisplayHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = ""; }; - 2E622BFD94D4B2407CBF4F8453AF5FCA /* IGListSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = ""; }; - 2E727EC73317E0ACA7E76BC82DB94F85 /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListWorkingRangeHandler.mm; sourceTree = ""; }; - 2F0658E47D5FA4859C0F4428CF713647 /* NSString+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+IGListDiffable.h"; sourceTree = ""; }; - 2F0CE518F7DDF2CE723D68FC755284C9 /* IGListIndexSetResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = ""; }; + 1E217674548B7A8AAB3A193441A03FA8 /* IGListBindingSectionControllerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerDataSource.h; sourceTree = ""; }; + 1F6053B42450A1551895423F78EEEC5D /* IGListBindable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindable.h; sourceTree = ""; }; + 1F74F9CF73BCE9B8C557AED9A4C90F67 /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = ""; }; + 222AD7A986EA94CD35002A93D1C4484E /* NSNumber+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNumber+IGListDiffable.h"; sourceTree = ""; }; + 262390EA78B5770840FC2DDE2ADC17EE /* IGListIndexSetResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexSetResult.h; sourceTree = ""; }; + 296D0E1F9E4B91617E6E24FAEA7F28B8 /* IGListDiffKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffKit.h; sourceTree = ""; }; + 2E18642CC69BCEAB117705EDBAB9C001 /* IGListIndexPathResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = ""; }; + 2E244C61F77FAF3DEB6143958ECF6E6E /* IGListSingleSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = ""; }; 2F5AE0385534EC7E6CA75003A7280492 /* Pods-IGListKitExamples-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-IGListKitExamples-dummy.m"; sourceTree = ""; }; + 31C28920FD418640B7DC79C2709FF693 /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = ""; }; + 360E18418B65DD1AA32177DE8DEDA259 /* IGListIndexPathResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = ""; }; + 368B71FA5D99C1147A54652CCD178139 /* IGListSectionMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = ""; }; + 3758647F9E8569D2F8F54282F9B8082C /* IGListAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = ""; }; + 3958987E3581C1F2CCCB453F8B0D63E1 /* IGListWorkingRangeHandler.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListWorkingRangeHandler.mm; sourceTree = ""; }; 428C13C7C57B2D91F00D94ECF1FA71F8 /* Pods-IGListKitExamples-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-resources.sh"; sourceTree = ""; }; - 444463E1974C74663FE32D05734FEFF0 /* NSNumber+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+IGListDiffable.m"; sourceTree = ""; }; + 466527968E18AB3A4B115BA531A7F797 /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = ""; }; + 4AFA4B82902C1C0DC15BE4208ED577FD /* IGListAdapterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = ""; }; + 50B710E60FC94E145F4E10A44BF7E4DF /* IGListDisplayHandler.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListDisplayHandler.m; sourceTree = ""; }; + 50ED2AD746666AA14020A1C381D36ADE /* IGListCollectionContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = ""; }; 52054AE893A0AE7FBFC54333D8ABD345 /* Pods-IGListKitExamples-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-IGListKitExamples-umbrella.h"; sourceTree = ""; }; - 53228E7DA3F835E8ECC38EB11642FC1D /* IGListMoveIndex.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndex.m; sourceTree = ""; }; - 5477ED0E9B72D8827504B21D61D9F3ED /* IGListAssert.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAssert.h; sourceTree = ""; }; - 565FCE812910D0139514F6F46E49F7B4 /* IGListDiff.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListDiff.mm; sourceTree = ""; }; + 530DEB81E9962DF5C4AD94BB4B596F19 /* IGListAdapter+UICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+UICollectionView.h"; sourceTree = ""; }; 572DECC5D68B18C3039F4C6A1FEB4A02 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 592B0560566B9C72D5FBCFD021AD5884 /* IGListKit.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListKit.modulemap; sourceTree = ""; }; - 593FD33A1C901819FB10B7EE9EBED7A7 /* IGListIndexPathResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexPathResult.m; sourceTree = ""; }; - 5A01D5A5A7CA64854855A92386C6CB55 /* IGListStackedSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListStackedSectionController.m; sourceTree = ""; }; - 5B09970CDF24E2761E98EF6AE3266313 /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = ""; }; - 5C4AC227E95BB147BEFEB13EBCBF8A51 /* IGListAdapterProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = ""; }; - 5FABABCD1B5611C56849B27FBA185F67 /* IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = ""; }; - 62F398B1394CD6F5510E34825D1196E3 /* IGListSectionMap.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionMap.m; sourceTree = ""; }; - 69C2A6E76504A4D0C771ED29A4CEE7EB /* IGListDiffKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffKit.h; sourceTree = ""; }; - 6E7F48597381270B6C23908B60CA90AC /* NSNumber+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSNumber+IGListDiffable.h"; sourceTree = ""; }; - 7162ADD9BD1BB7F5450FC4F16DAFF9D6 /* IGListAdapter+UICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+UICollectionView.m"; sourceTree = ""; }; - 73173C14E4FA5FEBF57DBA929E3BBA65 /* IGListCollectionContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionContext.h; sourceTree = ""; }; - 73D4884DCCD551FFC17C7540F8C50423 /* IGListCollectionViewLayoutInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutInternal.h; sourceTree = ""; }; - 78509F2ACF77B6287B499EA2C6F70E64 /* IGListDisplayHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = ""; }; - 7A095F45E058ADFCF130ACF8F4AA67F5 /* IGListBindingSectionControllerDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerDataSource.h; sourceTree = ""; }; - 7ADACD29C2F5F2643ACFD0EF819C4387 /* IGListAdapter+UICollectionView.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListAdapter+UICollectionView.h"; sourceTree = ""; }; - 8241D5D8E17FAAE6A292AA82CEEB2273 /* IGListBatchUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateState.h; sourceTree = ""; }; - 8495DF4D5478833A7B9FEFF384CFA6E3 /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = ""; }; - 8610E205B260A49C3EA4C02CC8627F73 /* IGListMoveIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = ""; }; - 8BA583DE4CF43EC197F68E9F43EE948C /* NSString+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSString+IGListDiffable.m"; sourceTree = ""; }; - 8C1903C75ECD79345796CC19EE4D61CB /* IGListBatchUpdates.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdates.h; sourceTree = ""; }; - 8FF4FD512CCEEAAC9480D1B4FA066B38 /* IGListReloadDataUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListReloadDataUpdater.m; sourceTree = ""; }; - 9007AF4BA9E200F9154E7B1DB0BEA9CB /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; + 5A4ADA3D51BD5D0FBDF959C25550E87D /* IGListBindingSectionControllerSelectionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerSelectionDelegate.h; sourceTree = ""; }; + 5CF3B678F933390E295BE9B7507417C7 /* IGListAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = ""; }; + 5E39FA0C8CA397B18F2E0EB8F952E7D3 /* IGListWorkingRangeHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeHandler.h; sourceTree = ""; }; + 5F7B2830B66DF7E6AFAB9F2EC83EC9A8 /* IGListBatchUpdates.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdates.m; sourceTree = ""; }; + 60542FA4469BF7C358B3B8E6B3A9AE42 /* IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiffable.h; sourceTree = ""; }; + 6175720FB9C5A7C4BBFBED0CDC51BBB7 /* IGListSupplementaryViewSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSupplementaryViewSource.h; sourceTree = ""; }; + 65FBDA2290186A6699069E837CFDC6C0 /* NSString+IGListDiffable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "NSString+IGListDiffable.h"; sourceTree = ""; }; + 65FFD064881EFEB9AC6AC90DEDDCD9E2 /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = ""; }; + 67C3EEF281DCD3DA63AF21313A98F2ED /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = ""; }; + 6A19500DB2D92F472116DCA3C9089CD2 /* IGListDisplayHandler.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayHandler.h; sourceTree = ""; }; + 6E8ED28DCD20B123AA77EAA34AFDCA8C /* IGListAdapter+UICollectionView.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListAdapter+UICollectionView.m"; sourceTree = ""; }; + 71D292842CBDC7395CA71B3A240B899E /* IGListAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = ""; }; + 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 79B9F159F35155BBD019A119BE9B0456 /* IGListMoveIndexPath.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListMoveIndexPath.m; sourceTree = ""; }; + 7DAB88F99457C3CF7C5AA35BBDF1FB75 /* IGListBatchContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchContext.h; sourceTree = ""; }; + 7E30C8E67872B0135182C5B250711F96 /* IGListStackedSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = ""; }; + 843369E0F36210AC34A3E9B1C02DAE9F /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = ""; }; + 84AA84A1D9842FE578735FB89C131418 /* IGListSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = ""; }; + 85011A44F4F1BD985B3B65512F30EDD7 /* IGListWorkingRangeDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListWorkingRangeDelegate.h; sourceTree = ""; }; + 8B3B0931DFE49790698E9F41FDA6BACA /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = ""; }; 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 93C89F51A2F9980260123C04080C9A64 /* IGListKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = ""; }; + 95BD5AE63592255E2120BDFB5EE10028 /* IGListMacros.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMacros.h; sourceTree = ""; }; 9699862731767A477E47D42C41975A56 /* IGListKit-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-umbrella.h"; sourceTree = ""; }; - 98D27545817B9B86507F36A142715BAF /* IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateData.h; sourceTree = ""; }; + 9710FF13886D3F1795E373E171894B50 /* IGListSectionMap.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionMap.h; sourceTree = ""; }; + 97872D04E4EA99D2ADD770B7C9CD393B /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListBatchUpdateData.mm; sourceTree = ""; }; + 98B40E3FFCF63A72B6836DD55B9A1BE2 /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = ""; }; + 9B4968482C8B06D34B141AC7A0DF5980 /* IGListSingleSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = ""; }; 9D11DCAE06F644E6CCE659622CD8E616 /* IGListKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = IGListKit.framework; path = IGListKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9E9B32BFF702B46B35ACDF62B64DB973 /* IGListAdapterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterInternal.h; sourceTree = ""; }; - 9F97E07C23B6DFC20F6F3337ED131994 /* IGListCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCompatibility.h; sourceTree = ""; }; - A0865C2A34A8AEA3708B86BCE5F730A7 /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = ""; }; + 9D3511E073B45B6C89BDDE077DC17E49 /* NSNumber+IGListDiffable.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "NSNumber+IGListDiffable.m"; sourceTree = ""; }; + 9E7F6E37DED5E3A27E35A3CDB1589198 /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = ""; }; + A0761FD2FB3B684EBAD6DDB306491E78 /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = ""; }; + A0F119277ADEE05C1EB9687DE9DECC6A /* IGListAdapterUpdaterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterDelegate.h; sourceTree = ""; }; + A11317170C68D1D36D8597ED46E2EF24 /* IGListCollectionViewLayout.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListCollectionViewLayout.mm; sourceTree = ""; }; + A116130ABA207F6B262B9FD5C8462B95 /* IGListDiff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = ""; }; A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-IGListKitExamples.release.xcconfig"; sourceTree = ""; }; + A2BCA5B70277306AA3CD198B6DAAFE06 /* IGListIndexSetResult.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListIndexSetResult.m; sourceTree = ""; }; + A3AD2928D17B674D17BE650C35F4EA10 /* IGListMoveIndexInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexInternal.h; sourceTree = ""; }; + A6934883D0295EA0952F9D30EA5DBC24 /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = ""; }; A7BBE69D34859663403DA26F14CC4DDB /* Pods-IGListKitExamples-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-IGListKitExamples-acknowledgements.markdown"; sourceTree = ""; }; A851A4ACB8C0DE98BFFBC6FD4D1BACEE /* Pods-IGListKitExamples-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-IGListKitExamples-frameworks.sh"; sourceTree = ""; }; - A981B9D8098A872418863133E9B605AF /* IGListScrollDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = ""; }; - AB20295540CA2B335ECC79CA24350D1E /* IGListExperiments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = ""; }; + A8F26D47BE5596FE0D227FA778564423 /* IGListAdapterProxy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterProxy.m; sourceTree = ""; }; + AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; ABF549428FEA18696E5358F599E11A24 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - B43963A259B99304B038CBFC99D72BA4 /* IGListAdapterDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDelegate.h; sourceTree = ""; }; - B4DDAB1B520A43159D1B5CB758651BD3 /* IGListAdapter.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapter.h; sourceTree = ""; }; - B643A00D8171FFE53D29C7170A3D9978 /* IGListAdapter.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapter.m; sourceTree = ""; }; - BBF7C67B395233A41D9878795E857359 /* IGListBindable.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindable.h; sourceTree = ""; }; - BE7620951770E2B5548CF5EE3D1CCE1A /* IGListBatchUpdates.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBatchUpdates.m; sourceTree = ""; }; - BFEF2175C8678241A61348F1858F28E6 /* UICollectionView+IGListBatchUpdateData.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "UICollectionView+IGListBatchUpdateData.m"; sourceTree = ""; }; - C07DD5CCC1CFBFDDA08AF7342D3556DB /* IGListSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionControllerInternal.h; sourceTree = ""; }; - C0869C55869DF35320C775AC4B432F90 /* IGListUpdatingDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListUpdatingDelegate.h; sourceTree = ""; }; + BBB90CB906E8ACBA10FEA2C443C85AB0 /* IGListCompatibility.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCompatibility.h; sourceTree = ""; }; + BCE8B36A7142E42AA26D09DCEAB7C943 /* IGListStackedSectionControllerInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionControllerInternal.h; sourceTree = ""; }; C21A7CA00A0F4B5304CF04AF01BD52EF /* IGListKit-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "IGListKit-dummy.m"; sourceTree = ""; }; - C2725FD90D5ADD907AC90F112F5255C7 /* IGListAdapterUpdater.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListAdapterUpdater.m; sourceTree = ""; }; + C4C1D21B36E055279385F8EDB5621015 /* IGListBindingSectionController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionController.h; sourceTree = ""; }; C7F454644FEBF5DB647AE1728D1FD067 /* Pods_IGListKitExamples.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_IGListKitExamples.framework; path = "Pods-IGListKitExamples.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - CA20891FF681043229F0C92331F5651C /* IGListAdapterDataSource.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterDataSource.h; sourceTree = ""; }; - CAD302BA31CA52C22598677C29AEC7BD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS10.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - D2615ECCAAD44BE035A8A9784855FE75 /* IGListBindingSectionControllerSelectionDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBindingSectionControllerSelectionDelegate.h; sourceTree = ""; }; - D4B8E899821CD40BFFAF3614620EED48 /* IGListBindingSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionController.m; sourceTree = ""; }; + CB736C8EBF6AACFF25047A7DC530163F /* IGListScrollDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = ""; }; + CD00D7C7C7CBBE5D93D64CA29A2F828B /* IGListStackedSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListStackedSectionController.m; sourceTree = ""; }; + D4AE29ED2CDFB2A072D3A55E6997BAFD /* IGListCollectionViewLayoutInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayoutInternal.h; sourceTree = ""; }; D803D538BF4074498E5ADB84A16E0395 /* Pods-IGListKitExamples-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-IGListKitExamples-acknowledgements.plist"; sourceTree = ""; }; - DCE3A723D1C7896767299569B9D33C0A /* IGListMoveIndexPath.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPath.h; sourceTree = ""; }; - DD9EE72C15A38E587584B5674F1849E5 /* IGListDiff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDiff.h; sourceTree = ""; }; DDF922EBFB237C1B42E8B07306D987E8 /* Pods-IGListKitExamples.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-IGListKitExamples.modulemap"; sourceTree = ""; }; - DFBED4A475C6BDD2EBB82C07E56E3D8C /* IGListAdapterUpdaterInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdaterInternal.h; sourceTree = ""; }; - E2897F812666E23EC5F00711F90755B9 /* IGListSingleSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = ""; }; - E3B05E7A725847712C7619BEEA6FD217 /* IGListAdapterUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterUpdater.h; sourceTree = ""; }; - E5B1AD61849CC787F85A53C7A91BA5B7 /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = ""; }; - E6946AE400C20E7AF1FF4B8030E81DF7 /* IGListBatchContext.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchContext.h; sourceTree = ""; }; - EC0F53AB8454C46452D6FB5CC667FE25 /* IGListSectionType.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListSectionType.h; sourceTree = ""; }; - F0856464368FF15747C625188555FB8A /* IGListIndexPathResult.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResult.h; sourceTree = ""; }; - F2E58561303A28918AF40C2AA401CD78 /* IGListBatchUpdateData.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListBatchUpdateData.mm; sourceTree = ""; }; + DE7605F830EB4893847C2E70ACADD842 /* IGListDiff.mm */ = {isa = PBXFileReference; includeInIndex = 1; path = IGListDiff.mm; sourceTree = ""; }; + E26AFDA8F10704900B8981132054DBFD /* IGListKit.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListKit.h; sourceTree = ""; }; + E2881BA2B9366B93C9945FB986505978 /* IGListSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = ""; }; + E2AD9F902DB9DDEC40F47D0703D86973 /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = ""; }; + E3561B9F634825AD59FC41AD0C218435 /* UICollectionView+IGListBatchUpdateData.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "UICollectionView+IGListBatchUpdateData.h"; sourceTree = ""; }; + ECA4CB1FC2F1AE1A286FF67B2E31FAFB /* IGListBatchUpdateState.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListBatchUpdateState.h; sourceTree = ""; }; + EDD9B292FFD9097C52D95DA30973D5D1 /* IGListMoveIndex.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndex.h; sourceTree = ""; }; + EE904DF85918B451B3CD20FC1240DF3A /* IGListAdapterProxy.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListAdapterProxy.h; sourceTree = ""; }; + F1390996C6BD24E350094C4AB1A423D0 /* IGListExperiments.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListExperiments.h; sourceTree = ""; }; + F1430542688592FE4900C2CE699CEBF8 /* IGListCollectionViewLayout.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListCollectionViewLayout.h; sourceTree = ""; }; F59E7B2DB26D99FB12B7F05A0171A69B /* IGListKit-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "IGListKit-prefix.pch"; sourceTree = ""; }; - F79275F087CC703F34E465FFC0664BC8 /* IGListReloadDataUpdater.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListReloadDataUpdater.h; sourceTree = ""; }; - F9416548A72B463B7F268957525FA3FD /* IGListIndexPathResultInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListIndexPathResultInternal.h; sourceTree = ""; }; - FA153A1269F92F52E36A9DE843181562 /* IGListDisplayDelegate.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListDisplayDelegate.h; sourceTree = ""; }; + F773CB63AF3E7197EB85E471677A4DA0 /* IGListBindingSectionController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IGListBindingSectionController.m; sourceTree = ""; }; + FB4CF11D48CE782E4E63E17845FF6D02 /* IGListMoveIndexPathInternal.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = IGListMoveIndexPathInternal.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 98FC45308808E28EF06D0B20D95CBC28 /* Frameworks */ = { + CAFF474EE43E51A9AB3AF6DA4B083DAE /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 35F29EF39DDC6EA3D784338F15F97449 /* Foundation.framework in Frameworks */, - 81B5FC4A0C415BA467A19194454BA236 /* UIKit.framework in Frameworks */, + 5A8A0582451CCCA0328F9EFEC66E98A8 /* Foundation.framework in Frameworks */, + FBAD60C071D8EB54F135C41C73B06F29 /* UIKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -218,21 +216,13 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - B1BBDF57A8F8803F287001BA5C15D3CB /* Foundation.framework in Frameworks */, + 6585F8BC4AE0EA2DC16B62B159CAE397 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0A1FDFA47DA92BAE5780042D6DCE095F /* Default */ = { - isa = PBXGroup; - children = ( - 2B49B3DCC3B2483FE212DF8E45FF5644 /* Source */, - ); - name = Default; - sourceTree = ""; - }; 1C4A812D7A721E4F8A5203A23D92CB45 /* Development Pods */ = { isa = PBXGroup; children = ( @@ -241,47 +231,6 @@ name = "Development Pods"; sourceTree = ""; }; - 2B49B3DCC3B2483FE212DF8E45FF5644 /* Source */ = { - isa = PBXGroup; - children = ( - B4DDAB1B520A43159D1B5CB758651BD3 /* IGListAdapter.h */, - B643A00D8171FFE53D29C7170A3D9978 /* IGListAdapter.m */, - CA20891FF681043229F0C92331F5651C /* IGListAdapterDataSource.h */, - B43963A259B99304B038CBFC99D72BA4 /* IGListAdapterDelegate.h */, - E3B05E7A725847712C7619BEEA6FD217 /* IGListAdapterUpdater.h */, - C2725FD90D5ADD907AC90F112F5255C7 /* IGListAdapterUpdater.m */, - 8495DF4D5478833A7B9FEFF384CFA6E3 /* IGListAdapterUpdaterDelegate.h */, - E6946AE400C20E7AF1FF4B8030E81DF7 /* IGListBatchContext.h */, - BBF7C67B395233A41D9878795E857359 /* IGListBindable.h */, - 19199E506461D5E8964683AB60869D59 /* IGListBindingSectionController.h */, - D4B8E899821CD40BFFAF3614620EED48 /* IGListBindingSectionController.m */, - 7A095F45E058ADFCF130ACF8F4AA67F5 /* IGListBindingSectionControllerDataSource.h */, - D2615ECCAAD44BE035A8A9784855FE75 /* IGListBindingSectionControllerSelectionDelegate.h */, - 73173C14E4FA5FEBF57DBA929E3BBA65 /* IGListCollectionContext.h */, - 23F2DBB83D98D8A3ACA3CD893D06FB8E /* IGListCollectionViewLayout.h */, - 0BC494F57B4B044A847C084414EC4878 /* IGListCollectionViewLayout.mm */, - FA153A1269F92F52E36A9DE843181562 /* IGListDisplayDelegate.h */, - 93C89F51A2F9980260123C04080C9A64 /* IGListKit.h */, - F79275F087CC703F34E465FFC0664BC8 /* IGListReloadDataUpdater.h */, - 8FF4FD512CCEEAAC9480D1B4FA066B38 /* IGListReloadDataUpdater.m */, - A981B9D8098A872418863133E9B605AF /* IGListScrollDelegate.h */, - 157F1620B8135332666D76625EDFB63C /* IGListSectionController.h */, - 2E622BFD94D4B2407CBF4F8453AF5FCA /* IGListSectionController.m */, - EC0F53AB8454C46452D6FB5CC667FE25 /* IGListSectionType.h */, - 0BBE0BDB1B66D90A84A801BD95009A52 /* IGListSingleSectionController.h */, - E2897F812666E23EC5F00711F90755B9 /* IGListSingleSectionController.m */, - 0210CC663A5A27C19445713588C3681C /* IGListStackedSectionController.h */, - 5A01D5A5A7CA64854855A92386C6CB55 /* IGListStackedSectionController.m */, - 0423757D818F746D5683F5ECF72D99B2 /* IGListSupplementaryViewSource.h */, - C0869C55869DF35320C775AC4B432F90 /* IGListUpdatingDelegate.h */, - 27BD89CCB9B0F193F3B71785781A9EBB /* IGListWorkingRangeDelegate.h */, - BE18E7FBB8F4A943B488CF77CCAD4C13 /* Common */, - 822835871D19ADF63311D1C6F020CBCB /* Internal */, - ); - name = Source; - path = Source; - sourceTree = ""; - }; 4AA169AB4131F8244E9433A183E62775 /* Common */ = { isa = PBXGroup; children = ( @@ -319,7 +268,7 @@ 6EC461C1435A31577346ED4ADA0BD5A9 /* Frameworks */ = { isa = PBXGroup; children = ( - A7ADA58BCAD9C51AFF857C5B1E229A1E /* tvOS */, + FE77A9456A47034F965F75B0B0B6CF30 /* tvOS */, ); name = Frameworks; sourceTree = ""; @@ -335,69 +284,80 @@ ); sourceTree = ""; }; - 822835871D19ADF63311D1C6F020CBCB /* Internal */ = { + A745933871E5DF1B2235294FBE157EC1 /* Default */ = { isa = PBXGroup; children = ( - 7ADACD29C2F5F2643ACFD0EF819C4387 /* IGListAdapter+UICollectionView.h */, - 7162ADD9BD1BB7F5450FC4F16DAFF9D6 /* IGListAdapter+UICollectionView.m */, - 9E9B32BFF702B46B35ACDF62B64DB973 /* IGListAdapterInternal.h */, - 5C4AC227E95BB147BEFEB13EBCBF8A51 /* IGListAdapterProxy.h */, - 140437EC7F8A4897304116AC7C851A04 /* IGListAdapterProxy.m */, - DFBED4A475C6BDD2EBB82C07E56E3D8C /* IGListAdapterUpdaterInternal.h */, - 8C1903C75ECD79345796CC19EE4D61CB /* IGListBatchUpdates.h */, - BE7620951770E2B5548CF5EE3D1CCE1A /* IGListBatchUpdates.m */, - 8241D5D8E17FAAE6A292AA82CEEB2273 /* IGListBatchUpdateState.h */, - 73D4884DCCD551FFC17C7540F8C50423 /* IGListCollectionViewLayoutInternal.h */, - 78509F2ACF77B6287B499EA2C6F70E64 /* IGListDisplayHandler.h */, - 2D74538F710077C6FBFC7B5AA0B27B47 /* IGListDisplayHandler.m */, - C07DD5CCC1CFBFDDA08AF7342D3556DB /* IGListSectionControllerInternal.h */, - 2C199F45D9A51E99DFFBF9B9B50669B1 /* IGListSectionMap.h */, - 62F398B1394CD6F5510E34825D1196E3 /* IGListSectionMap.m */, - 2B78FF2D73F6F9083457A0C3FCFFAE5B /* IGListStackedSectionControllerInternal.h */, - 0716C14AF42F8349044CFC6730C2871A /* IGListWorkingRangeHandler.h */, - 2E727EC73317E0ACA7E76BC82DB94F85 /* IGListWorkingRangeHandler.mm */, - A0865C2A34A8AEA3708B86BCE5F730A7 /* UICollectionView+IGListBatchUpdateData.h */, - BFEF2175C8678241A61348F1858F28E6 /* UICollectionView+IGListBatchUpdateData.m */, + ABF3D21C34A94D15FEE03433930369EB /* Source */, ); - name = Internal; - path = Internal; + name = Default; sourceTree = ""; }; - A7ADA58BCAD9C51AFF857C5B1E229A1E /* tvOS */ = { + ABF3D21C34A94D15FEE03433930369EB /* Source */ = { isa = PBXGroup; children = ( - CAD302BA31CA52C22598677C29AEC7BD /* Foundation.framework */, - 9007AF4BA9E200F9154E7B1DB0BEA9CB /* UIKit.framework */, + 71D292842CBDC7395CA71B3A240B899E /* IGListAdapter.h */, + 5CF3B678F933390E295BE9B7507417C7 /* IGListAdapter.m */, + 65FFD064881EFEB9AC6AC90DEDDCD9E2 /* IGListAdapterDataSource.h */, + 98B40E3FFCF63A72B6836DD55B9A1BE2 /* IGListAdapterDelegate.h */, + 1C7E1E8E65FCA30D6F64685E53D4CBEC /* IGListAdapterUpdater.h */, + 31C28920FD418640B7DC79C2709FF693 /* IGListAdapterUpdater.m */, + A0F119277ADEE05C1EB9687DE9DECC6A /* IGListAdapterUpdaterDelegate.h */, + 7DAB88F99457C3CF7C5AA35BBDF1FB75 /* IGListBatchContext.h */, + 1F6053B42450A1551895423F78EEEC5D /* IGListBindable.h */, + C4C1D21B36E055279385F8EDB5621015 /* IGListBindingSectionController.h */, + F773CB63AF3E7197EB85E471677A4DA0 /* IGListBindingSectionController.m */, + 1E217674548B7A8AAB3A193441A03FA8 /* IGListBindingSectionControllerDataSource.h */, + 5A4ADA3D51BD5D0FBDF959C25550E87D /* IGListBindingSectionControllerSelectionDelegate.h */, + 50ED2AD746666AA14020A1C381D36ADE /* IGListCollectionContext.h */, + F1430542688592FE4900C2CE699CEBF8 /* IGListCollectionViewLayout.h */, + A11317170C68D1D36D8597ED46E2EF24 /* IGListCollectionViewLayout.mm */, + 1F74F9CF73BCE9B8C557AED9A4C90F67 /* IGListDisplayDelegate.h */, + E26AFDA8F10704900B8981132054DBFD /* IGListKit.h */, + E2AD9F902DB9DDEC40F47D0703D86973 /* IGListReloadDataUpdater.h */, + 466527968E18AB3A4B115BA531A7F797 /* IGListReloadDataUpdater.m */, + CB736C8EBF6AACFF25047A7DC530163F /* IGListScrollDelegate.h */, + 84AA84A1D9842FE578735FB89C131418 /* IGListSectionController.h */, + E2881BA2B9366B93C9945FB986505978 /* IGListSectionController.m */, + 9B4968482C8B06D34B141AC7A0DF5980 /* IGListSingleSectionController.h */, + 2E244C61F77FAF3DEB6143958ECF6E6E /* IGListSingleSectionController.m */, + 7E30C8E67872B0135182C5B250711F96 /* IGListStackedSectionController.h */, + CD00D7C7C7CBBE5D93D64CA29A2F828B /* IGListStackedSectionController.m */, + 6175720FB9C5A7C4BBFBED0CDC51BBB7 /* IGListSupplementaryViewSource.h */, + A0761FD2FB3B684EBAD6DDB306491E78 /* IGListUpdatingDelegate.h */, + 85011A44F4F1BD985B3B65512F30EDD7 /* IGListWorkingRangeDelegate.h */, + B98218521157B714FF6AF7CE2C778CDC /* Common */, + F91A11569B9A55E682EA1C740580DB62 /* Internal */, ); - name = tvOS; + name = Source; + path = Source; sourceTree = ""; }; - BE18E7FBB8F4A943B488CF77CCAD4C13 /* Common */ = { + B98218521157B714FF6AF7CE2C778CDC /* Common */ = { isa = PBXGroup; children = ( - 5477ED0E9B72D8827504B21D61D9F3ED /* IGListAssert.h */, - 98D27545817B9B86507F36A142715BAF /* IGListBatchUpdateData.h */, - F2E58561303A28918AF40C2AA401CD78 /* IGListBatchUpdateData.mm */, - 9F97E07C23B6DFC20F6F3337ED131994 /* IGListCompatibility.h */, - DD9EE72C15A38E587584B5674F1849E5 /* IGListDiff.h */, - 565FCE812910D0139514F6F46E49F7B4 /* IGListDiff.mm */, - 5FABABCD1B5611C56849B27FBA185F67 /* IGListDiffable.h */, - 69C2A6E76504A4D0C771ED29A4CEE7EB /* IGListDiffKit.h */, - AB20295540CA2B335ECC79CA24350D1E /* IGListExperiments.h */, - F0856464368FF15747C625188555FB8A /* IGListIndexPathResult.h */, - 593FD33A1C901819FB10B7EE9EBED7A7 /* IGListIndexPathResult.m */, - 16DA8D8B870FACC99DC45320C8BAC32A /* IGListIndexSetResult.h */, - 2F0CE518F7DDF2CE723D68FC755284C9 /* IGListIndexSetResult.m */, - 1E2185C0062BB2D428AD12234F1DEFB9 /* IGListMacros.h */, - 8610E205B260A49C3EA4C02CC8627F73 /* IGListMoveIndex.h */, - 53228E7DA3F835E8ECC38EB11642FC1D /* IGListMoveIndex.m */, - DCE3A723D1C7896767299569B9D33C0A /* IGListMoveIndexPath.h */, - 141BFF575AA18AE6835BEB712DBE7352 /* IGListMoveIndexPath.m */, - 6E7F48597381270B6C23908B60CA90AC /* NSNumber+IGListDiffable.h */, - 444463E1974C74663FE32D05734FEFF0 /* NSNumber+IGListDiffable.m */, - 2F0658E47D5FA4859C0F4428CF713647 /* NSString+IGListDiffable.h */, - 8BA583DE4CF43EC197F68E9F43EE948C /* NSString+IGListDiffable.m */, - D1758BFEB3A48206E651B1D1B9BBCFCC /* Internal */, + 3758647F9E8569D2F8F54282F9B8082C /* IGListAssert.h */, + 8B3B0931DFE49790698E9F41FDA6BACA /* IGListBatchUpdateData.h */, + 97872D04E4EA99D2ADD770B7C9CD393B /* IGListBatchUpdateData.mm */, + BBB90CB906E8ACBA10FEA2C443C85AB0 /* IGListCompatibility.h */, + A116130ABA207F6B262B9FD5C8462B95 /* IGListDiff.h */, + DE7605F830EB4893847C2E70ACADD842 /* IGListDiff.mm */, + 60542FA4469BF7C358B3B8E6B3A9AE42 /* IGListDiffable.h */, + 296D0E1F9E4B91617E6E24FAEA7F28B8 /* IGListDiffKit.h */, + F1390996C6BD24E350094C4AB1A423D0 /* IGListExperiments.h */, + 360E18418B65DD1AA32177DE8DEDA259 /* IGListIndexPathResult.h */, + 2E18642CC69BCEAB117705EDBAB9C001 /* IGListIndexPathResult.m */, + 262390EA78B5770840FC2DDE2ADC17EE /* IGListIndexSetResult.h */, + A2BCA5B70277306AA3CD198B6DAAFE06 /* IGListIndexSetResult.m */, + 95BD5AE63592255E2120BDFB5EE10028 /* IGListMacros.h */, + EDD9B292FFD9097C52D95DA30973D5D1 /* IGListMoveIndex.h */, + 08541C827A48A9360F67DEE5E70B1BF5 /* IGListMoveIndex.m */, + 9E7F6E37DED5E3A27E35A3CDB1589198 /* IGListMoveIndexPath.h */, + 79B9F159F35155BBD019A119BE9B0456 /* IGListMoveIndexPath.m */, + 222AD7A986EA94CD35002A93D1C4484E /* NSNumber+IGListDiffable.h */, + 9D3511E073B45B6C89BDDE077DC17E49 /* NSNumber+IGListDiffable.m */, + 65FBDA2290186A6699069E837CFDC6C0 /* NSString+IGListDiffable.h */, + 13FEE229B41619D7BC7677329408763B /* NSString+IGListDiffable.m */, + C287871BE4BF622C69ED74376681B59A /* Internal */, ); name = Common; path = Common; @@ -412,13 +372,13 @@ path = Source; sourceTree = ""; }; - D1758BFEB3A48206E651B1D1B9BBCFCC /* Internal */ = { + C287871BE4BF622C69ED74376681B59A /* Internal */ = { isa = PBXGroup; children = ( - F9416548A72B463B7F268957525FA3FD /* IGListIndexPathResultInternal.h */, - 26599AE8251C541D1D3E8E3145C3A184 /* IGListIndexSetResultInternal.h */, - 5B09970CDF24E2761E98EF6AE3266313 /* IGListMoveIndexInternal.h */, - E5B1AD61849CC787F85A53C7A91BA5B7 /* IGListMoveIndexPathInternal.h */, + 0BB2EE0BD88EC850E2A3ABD282B259BB /* IGListIndexPathResultInternal.h */, + 1A3BADB3F4E6D49068DEB81F0329F890 /* IGListIndexSetResultInternal.h */, + A3AD2928D17B674D17BE650C35F4EA10 /* IGListMoveIndexInternal.h */, + FB4CF11D48CE782E4E63E17845FF6D02 /* IGListMoveIndexPathInternal.h */, ); name = Internal; path = Internal; @@ -467,7 +427,7 @@ F2C5A40FFA2E4FDDEA3BEEA6B5D9F911 /* IGListKit */ = { isa = PBXGroup; children = ( - 0A1FDFA47DA92BAE5780042D6DCE095F /* Default */, + A745933871E5DF1B2235294FBE157EC1 /* Default */, E593A79088D6203A7F30089971215267 /* Diffing */, D998550EE75611561B6DAB60A976F7D0 /* Support Files */, ); @@ -475,68 +435,104 @@ path = ../../..; sourceTree = ""; }; + F91A11569B9A55E682EA1C740580DB62 /* Internal */ = { + isa = PBXGroup; + children = ( + 530DEB81E9962DF5C4AD94BB4B596F19 /* IGListAdapter+UICollectionView.h */, + 6E8ED28DCD20B123AA77EAA34AFDCA8C /* IGListAdapter+UICollectionView.m */, + 4AFA4B82902C1C0DC15BE4208ED577FD /* IGListAdapterInternal.h */, + EE904DF85918B451B3CD20FC1240DF3A /* IGListAdapterProxy.h */, + A8F26D47BE5596FE0D227FA778564423 /* IGListAdapterProxy.m */, + 67C3EEF281DCD3DA63AF21313A98F2ED /* IGListAdapterUpdaterInternal.h */, + 00EA84FBDBBDF3CBD5AA468300F99514 /* IGListBatchUpdates.h */, + 5F7B2830B66DF7E6AFAB9F2EC83EC9A8 /* IGListBatchUpdates.m */, + ECA4CB1FC2F1AE1A286FF67B2E31FAFB /* IGListBatchUpdateState.h */, + D4AE29ED2CDFB2A072D3A55E6997BAFD /* IGListCollectionViewLayoutInternal.h */, + 6A19500DB2D92F472116DCA3C9089CD2 /* IGListDisplayHandler.h */, + 50B710E60FC94E145F4E10A44BF7E4DF /* IGListDisplayHandler.m */, + 843369E0F36210AC34A3E9B1C02DAE9F /* IGListSectionControllerInternal.h */, + 9710FF13886D3F1795E373E171894B50 /* IGListSectionMap.h */, + 368B71FA5D99C1147A54652CCD178139 /* IGListSectionMap.m */, + BCE8B36A7142E42AA26D09DCEAB7C943 /* IGListStackedSectionControllerInternal.h */, + 5E39FA0C8CA397B18F2E0EB8F952E7D3 /* IGListWorkingRangeHandler.h */, + 3958987E3581C1F2CCCB453F8B0D63E1 /* IGListWorkingRangeHandler.mm */, + E3561B9F634825AD59FC41AD0C218435 /* UICollectionView+IGListBatchUpdateData.h */, + A6934883D0295EA0952F9D30EA5DBC24 /* UICollectionView+IGListBatchUpdateData.m */, + ); + name = Internal; + path = Internal; + sourceTree = ""; + }; + FE77A9456A47034F965F75B0B0B6CF30 /* tvOS */ = { + isa = PBXGroup; + children = ( + 71D44B887663E8A7D2752C9ED2356648 /* Foundation.framework */, + AB4C132D7BA00C1384E27FAFD43A44B6 /* UIKit.framework */, + ); + name = tvOS; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - CB23DB807A305390CADE2B87CB79A7EF /* Headers */ = { + D0CB30267F95241D5FF1E9775249691C /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 797E3933D49BAD4FE671EA508ED57CA6 /* IGListAdapter+UICollectionView.h in Headers */, - FADEF09AA304AB30D0788CCEE27B6C26 /* IGListAdapter.h in Headers */, - BE033D25C320D21E1E78EAEF399DF540 /* IGListAdapterDataSource.h in Headers */, - D39048F532A6F87CD37E7FE585A3E13B /* IGListAdapterDelegate.h in Headers */, - 216B9A0D9B39C39620CB170432545CC7 /* IGListAdapterInternal.h in Headers */, - F42FB7150A4425A295AC9272561FC837 /* IGListAdapterProxy.h in Headers */, - 605A1CF6CCD9BFE48975D09C7BBD92FB /* IGListAdapterUpdater.h in Headers */, - 67AF97C3BEA4293AFB90489F666B69ED /* IGListAdapterUpdaterDelegate.h in Headers */, - CF9C21562C5661AD8A2A8A6260A5E40C /* IGListAdapterUpdaterInternal.h in Headers */, - B5E37AB8B0FD348456AFC1865827C476 /* IGListAssert.h in Headers */, - CAA0B73C38FF9D79747061CEA300FE43 /* IGListBatchContext.h in Headers */, - 05B997D548FCBD4318D12FF0A7AFE250 /* IGListBatchUpdateData.h in Headers */, - F8502EF2DD8F30418ACEC041BA9D4F14 /* IGListBatchUpdates.h in Headers */, - EE1E57838126C5EC52FBCE9B73AF386D /* IGListBatchUpdateState.h in Headers */, - DF988DD7BB62B89225475997CC008E76 /* IGListBindable.h in Headers */, - 8BE13BC452BBD6AF12D98167F6437BB0 /* IGListBindingSectionController.h in Headers */, - AF1D580B7009E51DDA6BCB587C675885 /* IGListBindingSectionControllerDataSource.h in Headers */, - BEC4A00B91C60AE346C483AD9787226F /* IGListBindingSectionControllerSelectionDelegate.h in Headers */, - C0DDDB446F14338877DD7DAD209FCA7B /* IGListCollectionContext.h in Headers */, - 2C289EC5F1940E622C1E9C9515E9D63C /* IGListCollectionViewLayout.h in Headers */, - AA959228621573EF42895C3E79DBB5F1 /* IGListCollectionViewLayoutInternal.h in Headers */, - 2B217E3BBEEAC8AA3AC12411586EF587 /* IGListCompatibility.h in Headers */, - AD435BD42B664FEE2FE9BCBD54F7C61A /* IGListDiff.h in Headers */, - 6594BBB981E431D7CADF89730991B9EA /* IGListDiffable.h in Headers */, - 9EDE9C8888626CE5B758BEC5FBCBE54B /* IGListDiffKit.h in Headers */, - AEB28733529A92A19B65E2617E22330A /* IGListDisplayDelegate.h in Headers */, - 495325FE83A69C1D5089869CFBF87F79 /* IGListDisplayHandler.h in Headers */, - FBE3B4BD48418B706C08A2BBBCAAB12A /* IGListExperiments.h in Headers */, - A79B1DA60159B577894013D8B32B329B /* IGListIndexPathResult.h in Headers */, - 7C0A8421653AD00A781CD7EC01F5054B /* IGListIndexPathResultInternal.h in Headers */, - C5221F588F598798E6B5C67ABC811D5D /* IGListIndexSetResult.h in Headers */, - D49D6E968FA458537E5D66989EBF540A /* IGListIndexSetResultInternal.h in Headers */, - F921C07FED77607AEFEDA2C1D17F8D4C /* IGListKit-umbrella.h in Headers */, - C50416B409F87F97D7F272E23E2C7682 /* IGListKit.h in Headers */, - 9FBD59EE9E578D5FF6C0236A63CAC49D /* IGListMacros.h in Headers */, - 70319DC97E9B4DE1F5BC58D1EDE2016E /* IGListMoveIndex.h in Headers */, - A6E3FCCC571A71F885FD5C91DAA25F43 /* IGListMoveIndexInternal.h in Headers */, - A3F79A1526CD319CF9B143F7CFBFCBD4 /* IGListMoveIndexPath.h in Headers */, - F89AE6DCF04A41FA75CBEE3EE414CCCD /* IGListMoveIndexPathInternal.h in Headers */, - E8EBB46E888594B5CECA537E88E97CF4 /* IGListReloadDataUpdater.h in Headers */, - A430864799B42A29A74863F8EA1273A1 /* IGListScrollDelegate.h in Headers */, - 617D208EE2F4324040099D05379AD603 /* IGListSectionController.h in Headers */, - FF5B15DBD33405CC8637A40752E41724 /* IGListSectionControllerInternal.h in Headers */, - B74F811392ED1CD134FB1C41DCD94FEF /* IGListSectionMap.h in Headers */, - 467D85F9089497C49DDCE319388DB38A /* IGListSectionType.h in Headers */, - CF789AB49CEB47D7BB58715DEF765CF9 /* IGListSingleSectionController.h in Headers */, - A00FD6C852B1634EA36CA7C227F2EEAB /* IGListStackedSectionController.h in Headers */, - 267765F661DF26FF813159D6FA3C79B0 /* IGListStackedSectionControllerInternal.h in Headers */, - A23FAB91A05BC3AD922A3E48EFB81908 /* IGListSupplementaryViewSource.h in Headers */, - 2F9515019760E1F75C58F8FA64158F7F /* IGListUpdatingDelegate.h in Headers */, - 3C86764E972AE39C438215AA079794F2 /* IGListWorkingRangeDelegate.h in Headers */, - 16A27EBC494E5231C81C9DB8AC2023DF /* IGListWorkingRangeHandler.h in Headers */, - 9C26D7022982F82BA01B0E1DDBBDC773 /* NSNumber+IGListDiffable.h in Headers */, - 650E02C9C9F5780B47A3E7949972D253 /* NSString+IGListDiffable.h in Headers */, - 5FBBB0F0E1503A1E40C114495CB9637E /* UICollectionView+IGListBatchUpdateData.h in Headers */, + 68098221B21296E0F67530FB69618EDE /* IGListAdapter+UICollectionView.h in Headers */, + 0949EDACD4CEA37D8EB5055CF0DADCE2 /* IGListAdapter.h in Headers */, + E68FCA8AFF1B260CCCD7E8965A84C0BF /* IGListAdapterDataSource.h in Headers */, + 6211C67DEADDC64A24EBBE3C08AEC6B1 /* IGListAdapterDelegate.h in Headers */, + 4D36356099F7D27F964161DD58FB599E /* IGListAdapterInternal.h in Headers */, + 03A1EED34F63073A48D87F6ABDC860D2 /* IGListAdapterProxy.h in Headers */, + 6BAED175CFF597DB7DD9A4A8C2DAA2F5 /* IGListAdapterUpdater.h in Headers */, + 03940F436D9CAD6A80AD21A4A87A6FBE /* IGListAdapterUpdaterDelegate.h in Headers */, + 5E9DBAB061CE4F44D6278684CC927232 /* IGListAdapterUpdaterInternal.h in Headers */, + 75066F38AA7532E4B4F2CDA01A230DFC /* IGListAssert.h in Headers */, + FD51193626A27D0FFEEDF889C005217E /* IGListBatchContext.h in Headers */, + 1313C1E768F70A36D8973366603757AD /* IGListBatchUpdateData.h in Headers */, + 7C2C95FA260EEF383C14DD2D88FB1892 /* IGListBatchUpdates.h in Headers */, + D8C8B3E66CA08064EFC9B3EF209A9D4C /* IGListBatchUpdateState.h in Headers */, + 9CAC31552EFF75E6EB383825ED27CD36 /* IGListBindable.h in Headers */, + BDB3AB34BD3B9795170FC36E5840A040 /* IGListBindingSectionController.h in Headers */, + C8780DF1675B8B7991288FF361B07715 /* IGListBindingSectionControllerDataSource.h in Headers */, + 47CC74846D05CC63B60CC48E94ACA4F8 /* IGListBindingSectionControllerSelectionDelegate.h in Headers */, + 623F244476E6EC9216AF3A13CBA7A2BC /* IGListCollectionContext.h in Headers */, + ACC3E0D0A35D0DCE510E56717B6459A3 /* IGListCollectionViewLayout.h in Headers */, + 2004CA3CC00FEA4658E6DAD2440155AA /* IGListCollectionViewLayoutInternal.h in Headers */, + F8575FA8F32C24920EBAED78C5276E35 /* IGListCompatibility.h in Headers */, + 32EC6349B9DFB7AEA5E51326F9E58A21 /* IGListDiff.h in Headers */, + 37E91E6EC7BD8884BA7B11AA7CEB69CD /* IGListDiffable.h in Headers */, + B20B4945659B2A6683F2A9B5D4533958 /* IGListDiffKit.h in Headers */, + 39F7D48B90796AD505EB5382D1C5943A /* IGListDisplayDelegate.h in Headers */, + ED50CF8481B60B0730B6D9382862A92A /* IGListDisplayHandler.h in Headers */, + ED1BAA686EE1BF39AE753F76EBFEBC07 /* IGListExperiments.h in Headers */, + 24E861206B7055250AD1FD80C4600CB5 /* IGListIndexPathResult.h in Headers */, + FFFB6164411A612BE1696A2E46C67941 /* IGListIndexPathResultInternal.h in Headers */, + 57FF6BD7479F9EC5FEF48816DAB3C6F8 /* IGListIndexSetResult.h in Headers */, + 7360A5B26D5FC84A36401F87C39B63D1 /* IGListIndexSetResultInternal.h in Headers */, + 724B358FDC2C8B94E9F62DEE4A2402A7 /* IGListKit-umbrella.h in Headers */, + D38C4D4A8966F8417A3A4398AA9EB7EA /* IGListKit.h in Headers */, + 76CDE8D61E662E34C4FFD802839F3FBC /* IGListMacros.h in Headers */, + 1E591DC4605E4418A9011BBD4FB842CA /* IGListMoveIndex.h in Headers */, + 8A5CD7D0F4344727B973D2FA4E3D00D1 /* IGListMoveIndexInternal.h in Headers */, + 1C585E84B3CE4372364EE43E4AFEAF80 /* IGListMoveIndexPath.h in Headers */, + DE5A69B50E2E91455E67692D5A97226B /* IGListMoveIndexPathInternal.h in Headers */, + 5C622E4EC1FA7561EB204881DE425858 /* IGListReloadDataUpdater.h in Headers */, + E399187CDD8B843C82CBF5DF2EB154F0 /* IGListScrollDelegate.h in Headers */, + BBB2299B4227968D08C20540E2956D99 /* IGListSectionController.h in Headers */, + 0861666ADF36D27227252177347624AF /* IGListSectionControllerInternal.h in Headers */, + 84533BEED259AB892EC21D3F56A44985 /* IGListSectionMap.h in Headers */, + CC702C39881CED86FB126FE919B16299 /* IGListSingleSectionController.h in Headers */, + 448529535C47B70E4FE04D4638B43D44 /* IGListStackedSectionController.h in Headers */, + 81546E0D43524C590C4DA509B5FB5F08 /* IGListStackedSectionControllerInternal.h in Headers */, + CF5F33E46378A9CE6279AB12B492A460 /* IGListSupplementaryViewSource.h in Headers */, + F0E9EA4BA14E1DCBC12CB94B2062358D /* IGListUpdatingDelegate.h in Headers */, + 57CAA503A9BBB6CEBDF09F07F767EAAD /* IGListWorkingRangeDelegate.h in Headers */, + E64474310FE9C9A2797E172930E38BA7 /* IGListWorkingRangeHandler.h in Headers */, + 5E3769700E068778D2E43545E722B9E6 /* NSNumber+IGListDiffable.h in Headers */, + EC78A471F4030DC277C6E7EF60AD9ADA /* NSString+IGListDiffable.h in Headers */, + A9E6FEB3975323C5E7C885B0CFFFC9A5 /* UICollectionView+IGListBatchUpdateData.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -569,13 +565,13 @@ productReference = C7F454644FEBF5DB647AE1728D1FD067 /* Pods_IGListKitExamples.framework */; productType = "com.apple.product-type.framework"; }; - 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */ = { + 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */ = { isa = PBXNativeTarget; - buildConfigurationList = DE6B0EB71A4CAE6A9D3C78466A5A35A7 /* Build configuration list for PBXNativeTarget "IGListKit" */; + buildConfigurationList = AE53E7E0AFBB00E1C9C2C8ADFB7C7387 /* Build configuration list for PBXNativeTarget "IGListKit" */; buildPhases = ( - 0F9E1D26CBC5238ED48F336951368F9A /* Sources */, - 98FC45308808E28EF06D0B20D95CBC28 /* Frameworks */, - CB23DB807A305390CADE2B87CB79A7EF /* Headers */, + AD841B1EA4B86A04E0914A1F12D95546 /* Sources */, + CAFF474EE43E51A9AB3AF6DA4B083DAE /* Frameworks */, + D0CB30267F95241D5FF1E9775249691C /* Headers */, ); buildRules = ( ); @@ -592,7 +588,7 @@ D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0830; + LastSwiftUpdateCheck = 0730; LastUpgradeCheck = 0700; }; buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; @@ -607,7 +603,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */, + 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */, 6B7DA8C024D099705CF771FF16E6FC16 /* Pods-IGListKitExamples */, ); }; @@ -622,34 +618,34 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 0F9E1D26CBC5238ED48F336951368F9A /* Sources */ = { + AD841B1EA4B86A04E0914A1F12D95546 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 2DA800C7B802CA1BC3BB41B94D05AA31 /* IGListAdapter+UICollectionView.m in Sources */, - 5DD701908F2DB1EBFFB0B8F9B5AF3158 /* IGListAdapter.m in Sources */, - 7C2EBF69D59AFC5138480258AA666F82 /* IGListAdapterProxy.m in Sources */, - 8AB38A97E79D74C6502A6BE09C493840 /* IGListAdapterUpdater.m in Sources */, - C415B08C18815625328D74C3D574B758 /* IGListBatchUpdateData.mm in Sources */, - 35D37D2E885F564FBB997BB89545D4AB /* IGListBatchUpdates.m in Sources */, - B0551D6CCC31FB6C5ECD00B3917A9545 /* IGListBindingSectionController.m in Sources */, - 6D15DC2BB89137494627771D5F62C6FF /* IGListCollectionViewLayout.mm in Sources */, - C05F2E2B8681819BE4AB6F549B975047 /* IGListDiff.mm in Sources */, - 7CB0EA5D06366BA1BBBEC5A498A91765 /* IGListDisplayHandler.m in Sources */, - FF6DBEC5D43AA3B0781B8F313CD17E23 /* IGListIndexPathResult.m in Sources */, - 4979C8847CAD5066AA9D16C2784075BB /* IGListIndexSetResult.m in Sources */, - 3BAD4927741D261829E94DE8D728E54F /* IGListKit-dummy.m in Sources */, - 922ED490D99EB874EB87C670EBC71802 /* IGListMoveIndex.m in Sources */, - E19D4C25139983D03630500270ABBAD4 /* IGListMoveIndexPath.m in Sources */, - 7AEB065C6BC928C87DD7D81CD04BB949 /* IGListReloadDataUpdater.m in Sources */, - 1526BBAB534D19F6E6A5AC9E14302379 /* IGListSectionController.m in Sources */, - 342DA78EA2ECB996076199481C6915C7 /* IGListSectionMap.m in Sources */, - 041621F397C14C8AE34D77AA481D0FD9 /* IGListSingleSectionController.m in Sources */, - A45F5292FC6857C2A410137F4AE79704 /* IGListStackedSectionController.m in Sources */, - E1D629CFB5A8ACD32A6289E92ED5EB15 /* IGListWorkingRangeHandler.mm in Sources */, - 5F9C90267F86D5437B48B838ADE8DCAF /* NSNumber+IGListDiffable.m in Sources */, - AFB2B846F9C192617DD5CBC0F29FE35C /* NSString+IGListDiffable.m in Sources */, - 98BC63EEFDC38B47689277D0D0B022B3 /* UICollectionView+IGListBatchUpdateData.m in Sources */, + 768F7B3E279D39A2F91B114CD5FE5E84 /* IGListAdapter+UICollectionView.m in Sources */, + 31A1F3DE47B880E4C56553D953AFB710 /* IGListAdapter.m in Sources */, + B8B56A12EBD1462CDEF4353E92E35FBA /* IGListAdapterProxy.m in Sources */, + E83D2ACA6E30D86EE9587391A6080EB2 /* IGListAdapterUpdater.m in Sources */, + 8C11C52690BF01F06C90E0EF4DE4D3AF /* IGListBatchUpdateData.mm in Sources */, + D0A36CB36CE65B4F0F27D57E7184ECE1 /* IGListBatchUpdates.m in Sources */, + CE08053C4854991F8B100E13A2E8ABEF /* IGListBindingSectionController.m in Sources */, + 7000178EE2AC2FEFB89209C5310DCFA0 /* IGListCollectionViewLayout.mm in Sources */, + FAF4CBCED1471115A642F7201378D0EA /* IGListDiff.mm in Sources */, + 49CF56E98BBE1E117FDB251267197BE5 /* IGListDisplayHandler.m in Sources */, + 3870B59722AB9B0DA6221909BC65800C /* IGListIndexPathResult.m in Sources */, + 4FADE33ABC2F792A397E475C38CB2746 /* IGListIndexSetResult.m in Sources */, + 80D4209CFBD9AA2B03753B5F7E5D5972 /* IGListKit-dummy.m in Sources */, + FBBFF5722512DDA16B9C4719B7166028 /* IGListMoveIndex.m in Sources */, + DA464F43C2E620E47B15B890707493EB /* IGListMoveIndexPath.m in Sources */, + 1F02150184A609EF92E1B57FB74CD754 /* IGListReloadDataUpdater.m in Sources */, + 9A307D2F0C698DC77291FB8A88535CC6 /* IGListSectionController.m in Sources */, + F4162B6AFF7677D3F551857782484463 /* IGListSectionMap.m in Sources */, + A30679728ED0BD070BDB612E5F848AAF /* IGListSingleSectionController.m in Sources */, + 4203BDFE4A09C75AB244F28B1DC69223 /* IGListStackedSectionController.m in Sources */, + F106F7B43E45CD6EF136DD00177BED8C /* IGListWorkingRangeHandler.mm in Sources */, + 69D11BC010461B6EAE22CC8C69C4721A /* NSNumber+IGListDiffable.m in Sources */, + ED2C70F38FED47DC72A3F3029F63A57B /* NSString+IGListDiffable.m in Sources */, + 062BD03C11D02C909696E7D8B351531B /* UICollectionView+IGListBatchUpdateData.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -659,18 +655,17 @@ 9B463355891949F736B3B5D678FE8D02 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = IGListKit; - target = 798141DD114EDC1DDCA359E64B5591DB /* IGListKit */; + target = 7E8FA01AD073C38BEBF299EE44B91444 /* IGListKit */; targetProxy = A0A5426482C447F640D6A192E71D5F5B /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 661729F083A6FC1B885AF6F7CDE099EC /* Release */ = { + 1DD1CFF0DC5554065098F7DC1848365A /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -678,13 +673,10 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; @@ -709,12 +701,46 @@ }; name = Release; }; - 989DC2E7A0303F48249CF17665F91260 /* Debug */ = { + 650FB46C8F30EE06870353DFC5EA54B6 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */; + buildSettings = { + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEBUG_INFORMATION_FORMAT = dwarf; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_NO_COMMON_BLOCKS = YES; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MTL_ENABLE_DEBUG_INFO = YES; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_IGListKitExamples; + SDKROOT = appletvos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 9.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Debug; + }; + 7DEE56CBFFC5EF063F24F486B02300EA /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; @@ -722,13 +748,10 @@ CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGNING_REQUIRED = NO; @@ -757,11 +780,10 @@ }; name = Debug; }; - 9EFF5B9E0BBAC2AACF6196542A6EABF2 /* Release */ = { + B512B9A025CABABF1B2F83B63A740A6C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */; + baseConfigurationReference = 1DC4F8DCC1835BACB957FEAD24EF8700 /* IGListKit.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; @@ -773,19 +795,16 @@ DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitExamples; + PRODUCT_NAME = IGListKit; SDKROOT = appletvos; SKIP_INSTALL = YES; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; @@ -793,52 +812,15 @@ }; name = Release; }; - ADAD9B471CBDDB130A05EDBBA3711DC1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 1B2B14BA3AB402D9CC387EEB27A2F746 /* Pods-IGListKitExamples.debug.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_IGListKitExamples; - SDKROOT = appletvos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 3; - TVOS_DEPLOYMENT_TARGET = 9.0; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B1E57377622BBCA9821C1EDDDABF8983 /* Release */ = { + C3405567AA742BCD9D4F9E1815E0808D /* Debug */ = { isa = XCBuildConfiguration; baseConfigurationReference = 1DC4F8DCC1835BACB957FEAD24EF8700 /* IGListKit.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; @@ -850,7 +832,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MTL_ENABLE_DEBUG_INFO = YES; PRODUCT_NAME = IGListKit; SDKROOT = appletvos; SKIP_INSTALL = YES; @@ -860,40 +842,42 @@ VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - DF81F9DD0AFDDBD2122585407D248994 /* Debug */ = { + D04E368E88FCE29BD15438FCE317E815 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1DC4F8DCC1835BACB957FEAD24EF8700 /* IGListKit.xcconfig */; + baseConfigurationReference = A198E265B2C6E673C7C9C5050F92D9F0 /* Pods-IGListKitExamples.release.xcconfig */; buildSettings = { - CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/IGListKit/IGListKit-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/IGListKit/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-IGListKitExamples/Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/IGListKit/IGListKit.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = IGListKit; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-IGListKitExamples/Pods-IGListKitExamples.modulemap"; + MTL_ENABLE_DEBUG_INFO = NO; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = Pods_IGListKitExamples; SDKROOT = appletvos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = 3; TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; /* End XCBuildConfiguration section */ @@ -901,8 +885,8 @@ 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - 989DC2E7A0303F48249CF17665F91260 /* Debug */, - 661729F083A6FC1B885AF6F7CDE099EC /* Release */, + 7DEE56CBFFC5EF063F24F486B02300EA /* Debug */, + 1DD1CFF0DC5554065098F7DC1848365A /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -910,17 +894,17 @@ 447A9F6E709F690B1574347D9E329E3D /* Build configuration list for PBXNativeTarget "Pods-IGListKitExamples" */ = { isa = XCConfigurationList; buildConfigurations = ( - ADAD9B471CBDDB130A05EDBBA3711DC1 /* Debug */, - 9EFF5B9E0BBAC2AACF6196542A6EABF2 /* Release */, + 650FB46C8F30EE06870353DFC5EA54B6 /* Debug */, + D04E368E88FCE29BD15438FCE317E815 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - DE6B0EB71A4CAE6A9D3C78466A5A35A7 /* Build configuration list for PBXNativeTarget "IGListKit" */ = { + AE53E7E0AFBB00E1C9C2C8ADFB7C7387 /* Build configuration list for PBXNativeTarget "IGListKit" */ = { isa = XCConfigurationList; buildConfigurations = ( - DF81F9DD0AFDDBD2122585407D248994 /* Debug */, - B1E57377622BBCA9821C1EDDDABF8983 /* Release */, + C3405567AA742BCD9D4F9E1815E0808D /* Debug */, + B512B9A025CABABF1B2F83B63A740A6C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Examples/Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h b/Examples/Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h index fbb5e62af..7ffaf8f3a 100644 --- a/Examples/Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h +++ b/Examples/Examples-tvOS/Pods/Target Support Files/IGListKit/IGListKit-umbrella.h @@ -41,7 +41,6 @@ #import "IGListReloadDataUpdater.h" #import "IGListScrollDelegate.h" #import "IGListSectionController.h" -#import "IGListSectionType.h" #import "IGListSingleSectionController.h" #import "IGListStackedSectionController.h" #import "IGListSupplementaryViewSource.h" diff --git a/IGListKit.xcodeproj/project.pbxproj b/IGListKit.xcodeproj/project.pbxproj index 03883d3c5..b110832b2 100644 --- a/IGListKit.xcodeproj/project.pbxproj +++ b/IGListKit.xcodeproj/project.pbxproj @@ -86,8 +86,6 @@ 0B3B93171E08D7F5008390ED /* IGListSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B3B92AA1E08D7F5008390ED /* IGListSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0B3B93181E08D7F5008390ED /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B3B92AB1E08D7F5008390ED /* IGListSectionController.m */; }; 0B3B93191E08D7F5008390ED /* IGListSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B3B92AB1E08D7F5008390ED /* IGListSectionController.m */; }; - 0B3B931A1E08D7F5008390ED /* IGListSectionType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B3B92AC1E08D7F5008390ED /* IGListSectionType.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 0B3B931B1E08D7F5008390ED /* IGListSectionType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B3B92AC1E08D7F5008390ED /* IGListSectionType.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0B3B931C1E08D7F5008390ED /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B3B92AD1E08D7F5008390ED /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0B3B931D1E08D7F5008390ED /* IGListSingleSectionController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B3B92AD1E08D7F5008390ED /* IGListSingleSectionController.h */; settings = {ATTRIBUTES = (Public, ); }; }; 0B3B931E1E08D7F5008390ED /* IGListSingleSectionController.m in Sources */ = {isa = PBXBuildFile; fileRef = 0B3B92AE1E08D7F5008390ED /* IGListSingleSectionController.m */; }; @@ -368,7 +366,6 @@ 0B3B92A91E08D7F5008390ED /* IGListScrollDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListScrollDelegate.h; sourceTree = ""; }; 0B3B92AA1E08D7F5008390ED /* IGListSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSectionController.h; sourceTree = ""; }; 0B3B92AB1E08D7F5008390ED /* IGListSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSectionController.m; sourceTree = ""; }; - 0B3B92AC1E08D7F5008390ED /* IGListSectionType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSectionType.h; sourceTree = ""; }; 0B3B92AD1E08D7F5008390ED /* IGListSingleSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListSingleSectionController.h; sourceTree = ""; }; 0B3B92AE1E08D7F5008390ED /* IGListSingleSectionController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IGListSingleSectionController.m; sourceTree = ""; }; 0B3B92AF1E08D7F5008390ED /* IGListStackedSectionController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IGListStackedSectionController.h; sourceTree = ""; }; @@ -583,7 +580,6 @@ 0B3B92A91E08D7F5008390ED /* IGListScrollDelegate.h */, 0B3B92AA1E08D7F5008390ED /* IGListSectionController.h */, 0B3B92AB1E08D7F5008390ED /* IGListSectionController.m */, - 0B3B92AC1E08D7F5008390ED /* IGListSectionType.h */, 0B3B92AD1E08D7F5008390ED /* IGListSingleSectionController.h */, 0B3B92AE1E08D7F5008390ED /* IGListSingleSectionController.m */, 0B3B92AF1E08D7F5008390ED /* IGListStackedSectionController.h */, @@ -867,7 +863,6 @@ 0B3B92FD1E08D7F5008390ED /* IGListAdapterDelegate.h in Headers */, 0B3B92F71E08D7F5008390ED /* IGListAdapter.h in Headers */, 298DD9C31E3ACF8600F76F50 /* IGListBindable.h in Headers */, - 0B3B931B1E08D7F5008390ED /* IGListSectionType.h in Headers */, 2928073A1E82CE2E0077A81C /* IGListBatchContext.h in Headers */, 292658711E75E2440041B56D /* IGListBatchUpdateState.h in Headers */, 0B3B92E31E08D7F5008390ED /* IGListMoveIndexPath.h in Headers */, @@ -927,7 +922,6 @@ 0B3B92FC1E08D7F5008390ED /* IGListAdapterDelegate.h in Headers */, 0B3B92F61E08D7F5008390ED /* IGListAdapter.h in Headers */, 298DD9C21E3ACF4800F76F50 /* IGListBindable.h in Headers */, - 0B3B931A1E08D7F5008390ED /* IGListSectionType.h in Headers */, 292807391E82CE240077A81C /* IGListBatchContext.h in Headers */, 0B3B92E21E08D7F5008390ED /* IGListMoveIndexPath.h in Headers */, 297278C41E6B59D50099D8EA /* IGListBatchUpdateState.h in Headers */, diff --git a/Source/Common/IGListAssert.h b/Source/Common/IGListAssert.h index 2781e0e9a..328763c78 100644 --- a/Source/Common/IGListAssert.h +++ b/Source/Common/IGListAssert.h @@ -11,6 +11,10 @@ #define IGAssert( condition, ... ) NSCAssert( (condition) , ##__VA_ARGS__) #endif // IGAssert +#ifndef IGFailAssert +#define IGFailAssert( ... ) IGAssert( (NO) , ##__VA_ARGS__) +#endif // IGFailAssert + #ifndef IGParameterAssert #define IGParameterAssert( condition ) IGAssert( (condition) , @"Invalid parameter not satisfying: %@", @#condition) #endif // IGParameterAssert diff --git a/Source/IGListAdapter.h b/Source/IGListAdapter.h index c886f8b27..d73197a19 100644 --- a/Source/IGListAdapter.h +++ b/Source/IGListAdapter.h @@ -14,7 +14,6 @@ #import #import -#import #import @protocol IGListUpdatingDelegate; @@ -31,9 +30,9 @@ NS_ASSUME_NONNULL_BEGIN typedef void (^IGListUpdaterCompletion)(BOOL finished); /** - `IGListAdapter` objects provide an abstraction for feeds of objects in a `UICollectionView` by breaking each object into - individual sections, called "section controllers". These controllers (objects conforming to `IGListSectionType`) act as a - data source and delegate for each section. + `IGListAdapter` objects provide an abstraction for feeds of objects in a `UICollectionView` by breaking each object + into individual sections, called "section controllers". These controllers (objects subclassing to + `IGListSectionController`) act as a data source and delegate for each section. Feed implementations must act as the data source for an `IGListAdapter` in order to drive the objects and section controllers in a collection view. @@ -133,7 +132,7 @@ IGLK_SUBCLASSING_RESTRICTED @return A section controller or `nil` if the section does not exist. */ -- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section; +- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section; /** Query the section index of a list. Constant time lookup. @@ -142,7 +141,7 @@ IGLK_SUBCLASSING_RESTRICTED @return The section index of the list if it exists, otherwise `NSNotFound`. */ -- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController; +- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController; /** Returns the section controller for the specified object. Constant time lookup. @@ -153,7 +152,7 @@ IGLK_SUBCLASSING_RESTRICTED @see `-[IGListAdapterDataSource listAdapter:sectionControllerForObject:]` */ -- (__kindof IGListSectionController * _Nullable)sectionControllerForObject:(id)object; +- (__kindof IGListSectionController * _Nullable)sectionControllerForObject:(id)object; /** Returns the object corresponding to the specified section controller in the list. Constant time lookup. @@ -162,7 +161,7 @@ IGLK_SUBCLASSING_RESTRICTED @return The object for the specified section controller, or `nil` if not found. */ -- (nullable id)objectForSectionController:(IGListSectionController *)sectionController; +- (nullable id)objectForSectionController:(IGListSectionController *)sectionController; /** Returns the object corresponding to a section in the list. Constant time lookup. @@ -194,7 +193,7 @@ IGLK_SUBCLASSING_RESTRICTED @return An array of section controllers. */ -- (NSArray *> *)visibleSectionControllers; +- (NSArray *)visibleSectionControllers; /** An unordered array of the currently visible objects. diff --git a/Source/IGListAdapter.m b/Source/IGListAdapter.m index 414574f57..4fff8edbb 100644 --- a/Source/IGListAdapter.m +++ b/Source/IGListAdapter.m @@ -16,7 +16,7 @@ #import "IGListSectionControllerInternal.h" @implementation IGListAdapter { - NSMapTable *> *_viewSectionControllerMap; + NSMapTable *_viewSectionControllerMap; } - (void)dealloc { @@ -344,27 +344,27 @@ - (void)reloadObjects:(NSArray *)objects { #pragma mark - List Items & Sections -- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section { +- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section { IGAssertMainThread(); return [self.sectionMap sectionControllerForSection:section]; } -- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { +- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(sectionController != nil); return [self.sectionMap sectionForSectionController:sectionController]; } -- (id )sectionControllerForObject:(id)object { +- (IGListSectionController *)sectionControllerForObject:(id)object { IGAssertMainThread(); IGParameterAssert(object != nil); return [self.sectionMap sectionControllerForObject:object]; } -- (id)objectForSectionController:(IGListSectionController *)sectionController { +- (id)objectForSectionController:(IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(sectionController != nil); @@ -392,11 +392,11 @@ - (NSArray *)objects { } - (id)supplementaryViewSourceAtIndexPath:(NSIndexPath *)indexPath { - IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; + IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; return [sectionController supplementaryViewSource]; } -- (NSArray *> *)visibleSectionControllers { +- (NSArray *)visibleSectionControllers { IGAssertMainThread(); NSArray *visibleCells = [self.collectionView visibleCells]; NSMutableSet *visibleSectionControllers = [NSMutableSet new]; @@ -415,7 +415,7 @@ - (NSArray *)visibleObjects { NSArray *visibleCells = [self.collectionView visibleCells]; NSMutableSet *visibleObjects = [NSMutableSet new]; for (UICollectionViewCell *cell in visibleCells) { - IGListSectionController *sectionController = [self sectionControllerForView:cell]; + IGListSectionController *sectionController = [self sectionControllerForView:cell]; IGAssert(sectionController != nil, @"Section controller nil for cell %@", cell); if (sectionController != nil) { const NSInteger section = [self sectionForSectionController:sectionController]; @@ -454,7 +454,7 @@ - (NSArray *)visibleObjects { - (CGSize)sizeForItemAtIndexPath:(NSIndexPath *)indexPath { IGAssertMainThread(); - IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; + IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; const CGSize size = [sectionController sizeForItemAtIndex:indexPath.item]; return CGSizeMake(MAX(size.width, 0.0), MAX(size.height, 0.0)); } @@ -483,7 +483,7 @@ - (void)updateObjects:(NSArray *)objects dataSource:(id } #endif - NSMutableArray *> *sectionControllers = [NSMutableArray new]; + NSMutableArray *sectionControllers = [NSMutableArray new]; NSMutableArray *validObjects = [NSMutableArray new]; IGListSectionMap *map = self.sectionMap; @@ -500,7 +500,7 @@ - (void)updateObjects:(NSArray *)objects dataSource:(id for (id object in objects) { // infra checks to see if a controller exists - IGListSectionController *sectionController = [map sectionControllerForObject:object]; + IGListSectionController *sectionController = [map sectionControllerForObject:object]; // if not, query the data source for a new one if (sectionController == nil) { @@ -545,7 +545,7 @@ - (void)updateObjects:(NSArray *)objects dataSource:(id } NSInteger itemCount = 0; - for (IGListSectionController *sectionController in sectionControllers) { + for (IGListSectionController *sectionController in sectionControllers) { itemCount += [sectionController numberOfItems]; } @@ -569,7 +569,7 @@ - (void)updateBackgroundViewShouldHide:(BOOL)shouldHide { - (BOOL)itemCountIsZero { __block BOOL isZero = YES; - [self.sectionMap enumerateUsingBlock:^(id _Nonnull object, IGListSectionController * _Nonnull sectionController, NSInteger section, BOOL * _Nonnull stop) { + [self.sectionMap enumerateUsingBlock:^(id _Nonnull object, IGListSectionController * _Nonnull sectionController, NSInteger section, BOOL * _Nonnull stop) { if (sectionController.numberOfItems > 0) { isZero = NO; *stop = YES; @@ -588,7 +588,7 @@ - (IGListSectionMap *)sectionMapUsingPreviousIfInUpdateBlock:(BOOL)usePreviousMa } } -- (NSArray *)indexPathsFromSectionController:(IGListSectionController *)sectionController +- (NSArray *)indexPathsFromSectionController:(IGListSectionController *)sectionController indexes:(NSIndexSet *)indexes usePreviousIfInUpdateBlock:(BOOL)usePreviousIfInUpdateBlock { NSMutableArray *indexPaths = [[NSMutableArray alloc] init]; @@ -635,14 +635,14 @@ - (NSIndexPath *)indexPathForSectionController:(IGListSectionController *)contro return attributes; } -- (void)mapView:(UICollectionReusableView *)view toSectionController:(IGListSectionController *)sectionController { +- (void)mapView:(UICollectionReusableView *)view toSectionController:(IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(view != nil); IGParameterAssert(sectionController != nil); [_viewSectionControllerMap setObject:sectionController forKey:view]; } -- (nullable IGListSectionController *)sectionControllerForView:(UICollectionReusableView *)view { +- (nullable IGListSectionController *)sectionControllerForView:(UICollectionReusableView *)view { IGAssertMainThread(); return [_viewSectionControllerMap objectForKey:view]; } @@ -660,8 +660,8 @@ - (void)scrollViewDidScroll:(UIScrollView *)scrollView { if ([scrollViewDelegate respondsToSelector:@selector(scrollViewDidScroll:)]) { [scrollViewDelegate scrollViewDidScroll:scrollView]; } - NSArray *> *visibleSectionControllers = [self visibleSectionControllers]; - for (IGListSectionController *sectionController in visibleSectionControllers) { + NSArray *visibleSectionControllers = [self visibleSectionControllers]; + for (IGListSectionController *sectionController in visibleSectionControllers) { [[sectionController scrollDelegate] listAdapter:self didScrollSectionController:sectionController]; } } @@ -672,8 +672,8 @@ - (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView { if ([scrollViewDelegate respondsToSelector:@selector(scrollViewWillBeginDragging:)]) { [scrollViewDelegate scrollViewWillBeginDragging:scrollView]; } - NSArray *> *visibleSectionControllers = [self visibleSectionControllers]; - for (IGListSectionController *sectionController in visibleSectionControllers) { + NSArray *visibleSectionControllers = [self visibleSectionControllers]; + for (IGListSectionController *sectionController in visibleSectionControllers) { [[sectionController scrollDelegate] listAdapter:self willBeginDraggingSectionController:sectionController]; } } @@ -684,8 +684,8 @@ - (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL if ([scrollViewDelegate respondsToSelector:@selector(scrollViewDidEndDragging:willDecelerate:)]) { [scrollViewDelegate scrollViewDidEndDragging:scrollView willDecelerate:decelerate]; } - NSArray *> *visibleSectionControllers = [self visibleSectionControllers]; - for (IGListSectionController *sectionController in visibleSectionControllers) { + NSArray *visibleSectionControllers = [self visibleSectionControllers]; + for (IGListSectionController *sectionController in visibleSectionControllers) { [[sectionController scrollDelegate] listAdapter:self didEndDraggingSectionController:sectionController willDecelerate:decelerate]; } } @@ -706,13 +706,13 @@ - (CGSize)insetContainerSize { return UIEdgeInsetsInsetRect(collectionView.bounds, collectionView.contentInset).size; } -- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController { +- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController { const UIEdgeInsets inset = sectionController.inset; return CGSizeMake(self.containerSize.width - inset.left - inset.right, self.containerSize.height - inset.top - inset.bottom); } -- (NSInteger)indexForCell:(UICollectionViewCell *)cell sectionController:(nonnull IGListSectionController *)sectionController { +- (NSInteger)indexForCell:(UICollectionViewCell *)cell sectionController:(nonnull IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(cell != nil); IGParameterAssert(sectionController != nil); @@ -723,7 +723,7 @@ - (NSInteger)indexForCell:(UICollectionViewCell *)cell sectionController:(nonnul } - (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index - sectionController:(IGListSectionController *)sectionController { + sectionController:(IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(sectionController != nil); @@ -746,7 +746,7 @@ - (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index return nil; } -- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController { +- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController { NSMutableArray *cells = [NSMutableArray new]; UICollectionView *collectionView = self.collectionView; NSArray *visibleCells = [collectionView visibleCells]; @@ -759,7 +759,7 @@ - (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index return cells; } -- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *) sectionController { +- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *) sectionController { NSMutableArray *paths = [NSMutableArray new]; UICollectionView *collectionView = self.collectionView; NSArray *visiblePaths = [collectionView indexPathsForVisibleItems]; @@ -773,7 +773,7 @@ - (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index } - (void)deselectItemAtIndex:(NSInteger)index - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController animated:(BOOL)animated { IGAssertMainThread(); IGParameterAssert(sectionController != nil); @@ -782,7 +782,7 @@ - (void)deselectItemAtIndex:(NSInteger)index } - (__kindof UICollectionViewCell *)dequeueReusableCellOfClass:(Class)cellClass - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { IGAssertMainThread(); IGParameterAssert(sectionController != nil); @@ -800,7 +800,7 @@ - (__kindof UICollectionViewCell *)dequeueReusableCellOfClass:(Class)cellClass } - (__kindof UICollectionViewCell *)dequeueReusableCellFromStoryboardWithIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { IGAssertMainThread(); IGParameterAssert(sectionController != nil); @@ -813,7 +813,7 @@ - (__kindof UICollectionViewCell *)dequeueReusableCellFromStoryboardWithIdentifi - (UICollectionViewCell *)dequeueReusableCellWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { IGAssertMainThread(); IGParameterAssert([nibName length] > 0); @@ -831,7 +831,7 @@ - (UICollectionViewCell *)dequeueReusableCellWithNibName:(NSString *)nibName } - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController class:(Class)viewClass atIndex:(NSInteger)index { IGAssertMainThread(); @@ -852,7 +852,7 @@ - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(N - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewFromStoryboardOfKind:(NSString *)elementKind withIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { IGAssertMainThread(); IGParameterAssert(elementKind.length > 0); @@ -866,7 +866,7 @@ - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewFromStory } - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController nibName:(NSString *)nibName bundle:(NSBundle *)bundle atIndex:(NSInteger)index { @@ -904,7 +904,7 @@ - (void)performBatchAnimated:(BOOL)animated updates:(void (^)(id *)sectionController +- (void)scrollToSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index scrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated { @@ -915,7 +915,7 @@ - (void)scrollToSectionController:(IGListSectionController *) [self.collectionView scrollToItemAtIndexPath:indexPath atScrollPosition:scrollPosition animated:animated]; } -- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController +- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController completion:(void (^)(BOOL finished))completion{ const NSInteger section = [self sectionForSectionController:sectionController]; const NSInteger items = [_collectionView numberOfItemsInSection:section]; @@ -938,7 +938,7 @@ - (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)reloadInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { IGAssertMainThread(); IGParameterAssert(indexes != nil); IGParameterAssert(sectionController != nil); @@ -968,7 +968,7 @@ - (void)reloadInSectionController:(IGListSectionController *) [self insertInSectionController:sectionController atIndexes:indexes]; } -- (void)insertInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)insertInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { IGAssertMainThread(); IGParameterAssert(indexes != nil); IGParameterAssert(sectionController != nil); @@ -984,7 +984,7 @@ - (void)insertInSectionController:(IGListSectionController *) [self updateBackgroundViewShouldHide:![self itemCountIsZero]]; } -- (void)deleteInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)deleteInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { IGAssertMainThread(); IGParameterAssert(indexes != nil); IGParameterAssert(sectionController != nil); @@ -1000,7 +1000,7 @@ - (void)deleteInSectionController:(IGListSectionController *) [self updateBackgroundViewShouldHide:![self itemCountIsZero]]; } -- (void)moveInSectionController:(IGListSectionController *)sectionController fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex { +- (void)moveInSectionController:(IGListSectionController *)sectionController fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex { IGAssertMainThread(); IGParameterAssert(sectionController != nil); IGParameterAssert(fromIndex >= 0); @@ -1019,7 +1019,7 @@ - (void)moveInSectionController:(IGListSectionController *)se [self.updater moveItemInCollectionView:collectionView fromIndexPath:fromIndexPath toIndexPath:toIndexPath]; } -- (void)reloadSectionController:(IGListSectionController *)sectionController { +- (void)reloadSectionController:(IGListSectionController *)sectionController { IGAssertMainThread(); IGParameterAssert(sectionController != nil); UICollectionView *collectionView = self.collectionView; diff --git a/Source/IGListAdapterDataSource.h b/Source/IGListAdapterDataSource.h index 461caf39f..fd0dcaa75 100644 --- a/Source/IGListAdapterDataSource.h +++ b/Source/IGListAdapterDataSource.h @@ -14,7 +14,7 @@ @class IGListAdapter; @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN Section controllers are reused when objects are moved or updated. Maintaining the `-[IGListDiffable diffIdentifier]` guarantees this. */ -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object; +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object; /** Asks the data source for a view to use as the collection view background when the list is empty. diff --git a/Source/IGListBatchContext.h b/Source/IGListBatchContext.h index 0366ac20b..abdb6ad55 100644 --- a/Source/IGListBatchContext.h +++ b/Source/IGListBatchContext.h @@ -11,7 +11,7 @@ @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN @param sectionController The section controller who's cells need reloading. @param indexes The indexes of items that need reloading. */ -- (void)reloadInSectionController:(IGListSectionController *)sectionController +- (void)reloadInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes; /** @@ -36,7 +36,7 @@ NS_ASSUME_NONNULL_BEGIN @param sectionController The section controller who's cells need inserting. @param indexes The indexes of items that need inserting. */ -- (void)insertInSectionController:(IGListSectionController *)sectionController +- (void)insertInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes; /** @@ -45,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN @param sectionController The section controller who's cells need deleted. @param indexes The indexes of items that need deleting. */ -- (void)deleteInSectionController:(IGListSectionController *)sectionController +- (void)deleteInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes; /** @@ -55,7 +55,7 @@ NS_ASSUME_NONNULL_BEGIN @param fromIndex The index the cell is currently in. @param toIndex The index the cell should move to. */ -- (void)moveInSectionController:(IGListSectionController *)sectionController +- (void)moveInSectionController:(IGListSectionController *)sectionController fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex; @@ -64,7 +64,7 @@ NS_ASSUME_NONNULL_BEGIN @param sectionController The section controller who's cells need reloading. */ -- (void)reloadSectionController:(IGListSectionController *)sectionController; +- (void)reloadSectionController:(IGListSectionController *)sectionController; @end diff --git a/Source/IGListBindingSectionController.h b/Source/IGListBindingSectionController.h index f66ccc853..bfb7b5ae8 100644 --- a/Source/IGListBindingSectionController.h +++ b/Source/IGListBindingSectionController.h @@ -10,7 +10,7 @@ #import #import -#import + #import #import #import @@ -47,7 +47,7 @@ NS_ASSUME_NONNULL_BEGIN Only when `-diffIdentifier`s match is object equality compared, so you can assume the class is the same, and the instance has already been checked. */ -@interface IGListBindingSectionController<__covariant ObjectType : id> : IGListSectionController +@interface IGListBindingSectionController<__covariant ObjectType : id> : IGListSectionController /** A data source that transforms a top-level object into view models, and returns cells and sizes for given view models. diff --git a/Source/IGListBindingSectionController.m b/Source/IGListBindingSectionController.m index ce1617fd3..bc2fc5561 100644 --- a/Source/IGListBindingSectionController.m +++ b/Source/IGListBindingSectionController.m @@ -88,7 +88,7 @@ - (void)updateAnimated:(BOOL)animated completion:(void (^)(BOOL))completion { }]; } -#pragma mark - IGListSectionType +#pragma mark - IGListSectionController Overrides - (NSInteger)numberOfItems { return self.viewModels.count; diff --git a/Source/IGListCollectionContext.h b/Source/IGListCollectionContext.h index b7882866b..10e8bc05e 100644 --- a/Source/IGListCollectionContext.h +++ b/Source/IGListCollectionContext.h @@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN @class IGListSectionController; -@protocol IGListSectionType; + /** The collection context provides limited access to the collection-related information that @@ -45,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN @return The size of the collection view minus the given section controller's insets. */ -- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController; +- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController; /** Returns the index of the specified cell in the collection relative to the section controller. @@ -56,7 +56,7 @@ NS_ASSUME_NONNULL_BEGIN @return The index of the cell or `NSNotFound` if it does not exist in the collection. */ - (NSInteger)indexForCell:(UICollectionViewCell *)cell - sectionController:(IGListSectionController *)sectionController; + sectionController:(IGListSectionController *)sectionController; /** Returns the cell in the collection at the specified index for the section controller. @@ -69,7 +69,7 @@ NS_ASSUME_NONNULL_BEGIN @warning This method may return `nil` if the cell is offscreen. */ - (nullable __kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index - sectionController:(IGListSectionController *)sectionController; + sectionController:(IGListSectionController *)sectionController; /** Returns the visible cells for the given section controller. @@ -78,7 +78,7 @@ NS_ASSUME_NONNULL_BEGIN @return An array of visible cells, or an empty array if none are found. */ -- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController; +- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController; /** Returns the visible paths for the given section controller. @@ -87,7 +87,7 @@ NS_ASSUME_NONNULL_BEGIN @return An array of visible index paths, or an empty array if none are found. */ -- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *) sectionController; +- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *) sectionController; /** Deselects a cell in the collection. @@ -97,7 +97,7 @@ NS_ASSUME_NONNULL_BEGIN @param animated Pass `YES` to animate the change, `NO` otherwise. */ - (void)deselectItemAtIndex:(NSInteger)index - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController animated:(BOOL)animated; /** @@ -107,7 +107,7 @@ NS_ASSUME_NONNULL_BEGIN @return The section index of the controller if found, otherwise `NSNotFound`. */ -- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController; +- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController; /** Dequeues a cell from the collection view reuse pool. @@ -121,7 +121,7 @@ NS_ASSUME_NONNULL_BEGIN @note This method uses a string representation of the cell class as the identifier. */ - (__kindof UICollectionViewCell *)dequeueReusableCellOfClass:(Class)cellClass - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index; /** @@ -138,7 +138,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (__kindof UICollectionViewCell *)dequeueReusableCellWithNibName:(NSString *)nibName bundle:(nullable NSBundle *)bundle - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index; /** @@ -151,7 +151,7 @@ NS_ASSUME_NONNULL_BEGIN @return A cell dequeued from the reuse pool or a newly created one. */ - (__kindof UICollectionViewCell *)dequeueReusableCellFromStoryboardWithIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index; /** @@ -167,7 +167,7 @@ NS_ASSUME_NONNULL_BEGIN @note This method uses a string representation of the view class as the identifier. */ - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController class:(Class)viewClass atIndex:(NSInteger)index; @@ -183,7 +183,7 @@ NS_ASSUME_NONNULL_BEGIN */ - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewFromStoryboardOfKind:(NSString *)elementKind withIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index; /** Dequeues a supplementary view from the collection view reuse pool. @@ -199,7 +199,7 @@ NS_ASSUME_NONNULL_BEGIN @note This method uses a string representation of the view class as the identifier. */ - (__kindof UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController nibName:(NSString *)nibName bundle:(nullable NSBundle *)bundle atIndex:(NSInteger)index; @@ -214,7 +214,7 @@ NS_ASSUME_NONNULL_BEGIN will end up calling `-[UICollectionView performBatchUpdates:completion:]` internally, so invalidated changes may not be reflected in the cells immediately. */ -- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController +- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController completion:(nullable void (^)(BOOL finished))completion; /** @@ -260,7 +260,7 @@ NS_ASSUME_NONNULL_BEGIN @param scrollPosition An option that specifies where the item should be positioned when scrolling finishes. @param animated A flag indicating if the scrolling should be animated. */ -- (void)scrollToSectionController:(IGListSectionController *)sectionController +- (void)scrollToSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index scrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated; diff --git a/Source/IGListDisplayDelegate.h b/Source/IGListDisplayDelegate.h index 051b54b7c..f1fee9e3e 100644 --- a/Source/IGListDisplayDelegate.h +++ b/Source/IGListDisplayDelegate.h @@ -12,7 +12,7 @@ @class IGListAdapter; @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The list adapter for the section controller. @param sectionController The section controller about to be displayed. */ -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController; /** Tells the delegate that the specified section controller is no longer being displayed. @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The list adapter for the section controller. @param sectionController The section controller that is no longer displayed. */ -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController; /** Tells the delegate that a cell in the specified list is about to be displayed. @@ -45,7 +45,7 @@ NS_ASSUME_NONNULL_BEGIN @param cell The cell about to be displayed. @param index The index of the cell in the section. */ -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index; @@ -57,7 +57,7 @@ NS_ASSUME_NONNULL_BEGIN @param cell The cell that is no longer displayed. @param index The index of the cell in the section. */ -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index; diff --git a/Source/IGListKit.h b/Source/IGListKit.h index c97e6be47..38732eb67 100644 --- a/Source/IGListKit.h +++ b/Source/IGListKit.h @@ -35,11 +35,9 @@ FOUNDATION_EXPORT const unsigned char IGListKitVersionString[]; #import #import #import - #import #import #import -#import #import #import #import diff --git a/Source/IGListScrollDelegate.h b/Source/IGListScrollDelegate.h index a5a55c5cf..c72fa00fb 100644 --- a/Source/IGListScrollDelegate.h +++ b/Source/IGListScrollDelegate.h @@ -12,7 +12,7 @@ @class IGListAdapter; @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The list adapter whose collection view was scrolled. @param sectionController The visible section controller that was scrolled. */ -- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController; /** Tells the delegate that the section controller will be dragged on screen. @@ -35,7 +35,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The list adapter whose collection view will drag. @param sectionController The visible section controller that will drag. */ -- (void)listAdapter:(IGListAdapter *)listAdapter willBeginDraggingSectionController:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter willBeginDraggingSectionController:(IGListSectionController *)sectionController; /** Tells the delegate that the section controller did end dragging on screen. @@ -43,7 +43,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The list adapter whose collection view ended dragging. @param sectionController The visible section controller that ended dragging. */ -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDraggingSectionController:(IGListSectionController *)sectionController willDecelerate:(BOOL)decelerate; +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDraggingSectionController:(IGListSectionController *)sectionController willDecelerate:(BOOL)decelerate; @end diff --git a/Source/IGListSectionController.h b/Source/IGListSectionController.h index 7ffea4ef9..84fe9fa94 100644 --- a/Source/IGListSectionController.h +++ b/Source/IGListSectionController.h @@ -22,6 +22,64 @@ NS_ASSUME_NONNULL_BEGIN */ @interface IGListSectionController : NSObject +/** + Returns the number of items in the section. + + @return A count of items in the list. + + @note The count returned is used to drive the number of cells displayed for this section controller. The default + implementation returns 1. **Calling super is not required.** + */ +- (NSInteger)numberOfItems; + +/** + The specific size for the item at the specified index. + + @param index The row index of the item. + + @return The size for the item at index. + + @note The returned size is not guaranteed to be used. The implementation may query sections for their + layout information at will, or use its own layout metrics. For example, consider a dynamic-text sized list versus a + fixed height-and-width grid. The former will ask each section for a size, and the latter will likely not. The default + implementation returns size zero. **Calling super is not required.** + */ +- (CGSize)sizeForItemAtIndex:(NSInteger)index; + +/** + Return a dequeued cell for a given index. + + @param index The index of the requested row. + + @return A configured `UICollectionViewCell` subclass. + + @note This is your opportunity to do any cell setup and configuration. The infrastructure requests a cell when it + will be used on screen. You should never allocate new cells in this method, instead use the provided adapter to call + one of the dequeue methods on the IGListCollectionContext. The default implementation will assert. **You must override + this method without calling super.** + */ +- (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index; + +/** + Updates the section controller to a new object. + + @param object The object mapped to this section controller. + + @note When this method is called, all available contexts and configurations have been set for the section + controller. This method will only be called when the object instance has changed, including from `nil` or a previous + object. **Calling super is not required.** + */ +- (void)didUpdateToObject:(id)object; + +/** + Tells the section controller that the cell at the specified index path was selected. + + @param index The index of the selected cell. + + @note The default implementation does nothing. **Calling super is not required.** + */ +- (void)didSelectItemAtIndex:(NSInteger)index; + /** The view controller housing the adapter that created this section controller. diff --git a/Source/IGListSectionController.m b/Source/IGListSectionController.m index 5e36b689f..6f9a11953 100644 --- a/Source/IGListSectionController.m +++ b/Source/IGListSectionController.m @@ -66,4 +66,21 @@ - (instancetype)init { return self; } +- (NSInteger)numberOfItems { + return 1; +} + +- (CGSize)sizeForItemAtIndex:(NSInteger)index { + return CGSizeZero; +} + +- (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index { + IGFailAssert(@"Section controller %@ must override %s:", self, __PRETTY_FUNCTION__); + return nil; +} + +- (void)didUpdateToObject:(id)object {} + +- (void)didSelectItemAtIndex:(NSInteger)index {} + @end diff --git a/Source/IGListSectionType.h b/Source/IGListSectionType.h deleted file mode 100644 index c45ca97a0..000000000 --- a/Source/IGListSectionType.h +++ /dev/null @@ -1,91 +0,0 @@ -/** - * Copyright (c) 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -#import - -@protocol IGListSupplementaryViewSource; -@protocol IGListDisplayDelegate; -@protocol IGListWorkingRangeDelegate; - -NS_ASSUME_NONNULL_BEGIN - -/** - Implement this protocol in order to be used within the `IGListKit` data infrastructure and be registered for use in an - `IGListAdapter`. An `IGListSectionType` conforming object represents a single instance of an object in a collection of - objects. - - The infrastructure uses each `IGListSectionType` conforming object as a "view model" to populate and control cells as - part of a section in a `UICollectionView`. `IGListSectionType` objects should be architected without knowledge of - "global" state of the list in which they are contained. - - Index paths are used as a convenience for communicating the section index to each section object without allowing each - section to mutate its own position within a list. The row of an index path can be directly mapped to a cell within - an `IGListSectionType` conforming object. - */ -@protocol IGListSectionType - -/** - Returns the number of items in the section. - - @return A count of items in the list. - - @note The count returned is used to drive the number of cells displayed for this list. You are free to change - this value between data loading passes. - */ -- (NSInteger)numberOfItems; - -/** - The specific size for the item at the specified index. - - @param index The row index of the item. - - @return The size for the item at index. - - @note The returned size is not guaranteed to be used. The implementation may query sections for their - layout information at will, or use its own layout metrics. For example, consider a dynamic-text sized list versus a fixed - height-and-width grid. The former will ask each section for a size, and the latter will likely not. - */ -- (CGSize)sizeForItemAtIndex:(NSInteger)index; - -/** - Asks the section controller for a fully configured cell at the specified index. - - @param index The index of the requested row. - - @return A configured `UICollectionViewCell` subclass. - - @note This is your opportunity to do any cell setup and configuration. The infrastructure requests a cell when it - will be used on screen. You should never allocate new cells in this method, instead use the provided adapter to call - `-dequeCellClass:forIndexPath:` which either deques a cell from the collection view or creates a new one for you. - */ -- (__kindof UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index; - -/** - Tells the section that the controller was updated to a new object. - - @param object The object mapped to this section controller. - - @note When this method is called, all available contexts and configurations have been set for the section - controller. Also, depending on the updating strategy used, your item models may have changed objects in memory, so you - can use this event to update the object stored on your section controller. - - This method will only be called when the object instance has changed, including from `nil` or a previous object. - */ -- (void)didUpdateToObject:(id)object; - -/** - Tells the section that the cell at the specified index path was selected. - - @param index The index of the selected cell. - */ -- (void)didSelectItemAtIndex:(NSInteger)index; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Source/IGListSingleSectionController.h b/Source/IGListSingleSectionController.h index 30901c891..02cddf233 100644 --- a/Source/IGListSingleSectionController.h +++ b/Source/IGListSingleSectionController.h @@ -10,7 +10,7 @@ #import #import -#import + #import NS_ASSUME_NONNULL_BEGIN @@ -58,7 +58,7 @@ typedef CGSize (^IGListSingleSectionCellSizeBlock)(id item, id +@interface IGListSingleSectionController : IGListSectionController /** Creates a new section controller for a given cell type that will always have only one cell when present in a list. diff --git a/Source/IGListSingleSectionController.m b/Source/IGListSingleSectionController.m index a57b22470..311b20d8a 100644 --- a/Source/IGListSingleSectionController.m +++ b/Source/IGListSingleSectionController.m @@ -71,7 +71,7 @@ - (instancetype)initWithStoryboardCellIdentifier:(NSString *)identifier } -#pragma mark - IGListSectionType +#pragma mark - IGListSectionController Overrides - (NSInteger)numberOfItems { return 1; diff --git a/Source/IGListStackedSectionController.h b/Source/IGListStackedSectionController.h index 923b09445..b84381331 100644 --- a/Source/IGListStackedSectionController.h +++ b/Source/IGListStackedSectionController.h @@ -8,7 +8,7 @@ */ #import -#import + #import NS_ASSUME_NONNULL_BEGIN @@ -24,7 +24,7 @@ NS_ASSUME_NONNULL_BEGIN huge class. */ IGLK_SUBCLASSING_RESTRICTED -@interface IGListStackedSectionController : IGListSectionController +@interface IGListStackedSectionController : IGListSectionController /** Creates a new stacked section controller. @@ -35,7 +35,7 @@ IGLK_SUBCLASSING_RESTRICTED @warning The first section controller that is the supplementary source decides which supplementary views get displayed. */ -- (instancetype)initWithSectionControllers:(NSArray *> *)sectionControllers NS_DESIGNATED_INITIALIZER; +- (instancetype)initWithSectionControllers:(NSArray *)sectionControllers NS_DESIGNATED_INITIALIZER; /** :nodoc: diff --git a/Source/IGListStackedSectionController.m b/Source/IGListStackedSectionController.m index 9ea8439f3..ab7a164f2 100644 --- a/Source/IGListStackedSectionController.m +++ b/Source/IGListStackedSectionController.m @@ -44,9 +44,9 @@ - (NSInteger)ig_stackedSectionControllerIndex { @implementation IGListStackedSectionController -- (instancetype)initWithSectionControllers:(NSArray *> *)sectionControllers { +- (instancetype)initWithSectionControllers:(NSArray *)sectionControllers { if (self = [super init]) { - for (IGListSectionController *sectionController in sectionControllers) { + for (IGListSectionController *sectionController in sectionControllers) { sectionController.collectionContext = self; sectionController.viewController = self.viewController; } @@ -69,7 +69,7 @@ - (void)reloadData { NSMutableArray *offsets = [[NSMutableArray alloc] init]; NSInteger numberOfItems = 0; - for (IGListSectionController *sectionController in self.sectionControllers) { + for (IGListSectionController *sectionController in self.sectionControllers) { [offsets addObject:@(numberOfItems)]; const NSInteger items = [sectionController numberOfItems]; @@ -88,28 +88,28 @@ - (void)reloadData { IGAssert(self.sectionControllersForItems.count == self.flattenedNumberOfItems, @"Controller map does not equal total number of items"); } -- (IGListSectionController *)sectionControllerForObjectIndex:(NSInteger)itemIndex { +- (IGListSectionController *)sectionControllerForObjectIndex:(NSInteger)itemIndex { return self.sectionControllersForItems[itemIndex]; } -- (NSInteger)offsetForSectionController:(IGListSectionController *)sectionController { +- (NSInteger)offsetForSectionController:(IGListSectionController *)sectionController { const NSInteger index = [self.sectionControllers indexOfObject:sectionController]; IGAssert(index != NSNotFound, @"Querying offset for an undocumented section controller"); return [self.sectionControllerOffsets[index] integerValue]; } -- (NSInteger)localIndexForSectionController:(IGListSectionController *)sectionController index:(NSInteger)index { +- (NSInteger)localIndexForSectionController:(IGListSectionController *)sectionController index:(NSInteger)index { const NSInteger offset = [self offsetForSectionController:sectionController]; IGAssert(offset <= index, @"Section controller offset must be less than or equal to the item index"); return index - offset; } -- (NSInteger)relativeIndexForSectionController:(IGListSectionController *)sectionController fromLocalIndex:(NSInteger)index { +- (NSInteger)relativeIndexForSectionController:(IGListSectionController *)sectionController fromLocalIndex:(NSInteger)index { const NSInteger offset = [self offsetForSectionController:sectionController]; return index + offset; } -- (NSIndexSet *)itemIndexesForSectionController:(IGListSectionController *)sectionController indexes:(NSIndexSet *)indexes { +- (NSIndexSet *)itemIndexesForSectionController:(IGListSectionController *)sectionController indexes:(NSIndexSet *)indexes { const NSInteger offset = [self offsetForSectionController:sectionController]; NSMutableIndexSet *itemIndexes = [[NSMutableIndexSet alloc] init]; [indexes enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL *stop) { @@ -128,33 +128,33 @@ - (NSIndexSet *)itemIndexesForSectionController:(IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; + IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; const NSInteger localIndex = [self localIndexForSectionController:sectionController index:index]; return [sectionController sizeForItemAtIndex:localIndex]; } - (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index { - IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; + IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; const NSInteger localIndex = [self localIndexForSectionController:sectionController index:index]; return [sectionController cellForItemAtIndex:localIndex]; } - (void)didUpdateToObject:(id)object { - for (IGListSectionController *sectionController in self.sectionControllers) { + for (IGListSectionController *sectionController in self.sectionControllers) { [sectionController didUpdateToObject:object]; } [self reloadData]; } - (void)didSelectItemAtIndex:(NSInteger)index { - IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; + IGListSectionController *sectionController = [self sectionControllerForObjectIndex:index]; const NSInteger localIndex = [self localIndexForSectionController:sectionController index:index]; [sectionController didSelectItemAtIndex:localIndex]; } @@ -173,22 +173,22 @@ - (CGSize)insetContainerSize { return [self.collectionContext insetContainerSize]; } -- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController { +- (CGSize)containerSizeForSectionController:(IGListSectionController *)sectionController { const UIEdgeInsets inset = sectionController.inset; return CGSizeMake(self.containerSize.width - inset.left - inset.right, self.containerSize.height - inset.top - inset.bottom); } -- (NSInteger)indexForCell:(UICollectionViewCell *)cell sectionController:(IGListSectionController *)sectionController { +- (NSInteger)indexForCell:(UICollectionViewCell *)cell sectionController:(IGListSectionController *)sectionController { const NSInteger index = [self.collectionContext indexForCell:cell sectionController:self]; return [self localIndexForSectionController:sectionController index:index]; } -- (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index sectionController:(IGListSectionController *)sectionController { +- (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index sectionController:(IGListSectionController *)sectionController { return [self.collectionContext cellForItemAtIndex: [self relativeIndexForSectionController:sectionController fromLocalIndex:index] sectionController:self]; } -- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController { +- (NSArray *)visibleCellsForSectionController:(IGListSectionController *)sectionController { NSMutableArray *cells = [NSMutableArray new]; id collectionContext = self.collectionContext; NSArray *visibleCells = [collectionContext visibleCellsForSectionController:self]; @@ -201,7 +201,7 @@ - (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index sectionController: return cells; } -- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *)sectionController { +- (NSArray *)visibleIndexPathsForSectionController:(IGListSectionController *)sectionController { NSMutableArray *paths = [NSMutableArray new]; id collectionContext = self.collectionContext; NSArray *visiblePaths = [collectionContext visibleIndexPathsForSectionController:self]; @@ -213,17 +213,17 @@ - (UICollectionViewCell *)cellForItemAtIndex:(NSInteger)index sectionController: return paths; } -- (void)deselectItemAtIndex:(NSInteger)index sectionController:(IGListSectionController *)sectionController animated:(BOOL)animated { +- (void)deselectItemAtIndex:(NSInteger)index sectionController:(IGListSectionController *)sectionController animated:(BOOL)animated { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; [self.collectionContext deselectItemAtIndex:offsetIndex sectionController:self animated:animated]; } -- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { +- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { return [self.collectionContext sectionForSectionController:self]; } - (UICollectionViewCell *)dequeueReusableCellOfClass:(Class)cellClass - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; return (UICollectionViewCell *_Nonnull)[self.collectionContext dequeueReusableCellOfClass:cellClass @@ -233,7 +233,7 @@ - (UICollectionViewCell *)dequeueReusableCellOfClass:(Class)cellClass - (UICollectionViewCell *)dequeueReusableCellWithNibName:(NSString *)nibName bundle:(NSBundle *)bundle - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; return (UICollectionViewCell *_Nonnull)[self.collectionContext dequeueReusableCellWithNibName:nibName @@ -243,7 +243,7 @@ - (UICollectionViewCell *)dequeueReusableCellWithNibName:(NSString *)nibName } - (UICollectionViewCell *)dequeueReusableCellFromStoryboardWithIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; return (UICollectionViewCell *_Nonnull)[self.collectionContext dequeueReusableCellFromStoryboardWithIdentifier:identifier @@ -252,7 +252,7 @@ - (UICollectionViewCell *)dequeueReusableCellFromStoryboardWithIdentifier:(NSStr } - (UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController class:(Class)viewClass atIndex:(NSInteger)index { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; @@ -264,7 +264,7 @@ - (UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString * - (UICollectionReusableView *)dequeueReusableSupplementaryViewFromStoryboardOfKind:(NSString *)elementKind withIdentifier:(NSString *)identifier - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index { const NSInteger offsetIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:index]; return (UICollectionViewCell *_Nonnull)[self.collectionContext dequeueReusableSupplementaryViewFromStoryboardOfKind:elementKind @@ -274,7 +274,7 @@ - (UICollectionReusableView *)dequeueReusableSupplementaryViewFromStoryboardOfKi } - (UICollectionReusableView *)dequeueReusableSupplementaryViewOfKind:(NSString *)elementKind - forSectionController:(IGListSectionController *)sectionController + forSectionController:(IGListSectionController *)sectionController nibName:(NSString *)nibName bundle:(NSBundle *)bundle atIndex:(NSInteger)index { @@ -300,7 +300,7 @@ - (void)performBatchAnimated:(BOOL)animated updates:(void (^)(id *)sectionController +- (void)scrollToSectionController:(IGListSectionController *)sectionController atIndex:(NSInteger)index scrollPosition:(UICollectionViewScrollPosition)scrollPosition animated:(BOOL)animated { @@ -311,45 +311,45 @@ - (void)scrollToSectionController:(IGListSectionController *) animated:animated]; } -- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController completion:(void (^)(BOOL))completion { +- (void)invalidateLayoutForSectionController:(IGListSectionController *)sectionController completion:(void (^)(BOOL))completion { [self.collectionContext invalidateLayoutForSectionController:self completion:completion]; } #pragma mark - IGListBatchContext -- (void)reloadInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)reloadInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { NSIndexSet *itemIndexes = [self itemIndexesForSectionController:sectionController indexes:indexes]; [self.forwardingBatchContext reloadInSectionController:self atIndexes:itemIndexes]; } -- (void)insertInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)insertInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { [self reloadData]; NSIndexSet *itemIndexes = [self itemIndexesForSectionController:sectionController indexes:indexes]; [self.forwardingBatchContext insertInSectionController:self atIndexes:itemIndexes]; } -- (void)deleteInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { +- (void)deleteInSectionController:(IGListSectionController *)sectionController atIndexes:(NSIndexSet *)indexes { [self reloadData]; NSIndexSet *itemIndexes = [self itemIndexesForSectionController:sectionController indexes:indexes]; [self.forwardingBatchContext deleteInSectionController:self atIndexes:itemIndexes]; } -- (void)moveInSectionController:(IGListSectionController *)sectionController fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex { +- (void)moveInSectionController:(IGListSectionController *)sectionController fromIndex:(NSInteger)fromIndex toIndex:(NSInteger)toIndex { [self reloadData]; const NSInteger fromRelativeIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:fromIndex]; const NSInteger toRelativeIndex = [self relativeIndexForSectionController:sectionController fromLocalIndex:toIndex]; [self.forwardingBatchContext moveInSectionController:self fromIndex:fromRelativeIndex toIndex:toRelativeIndex]; } -- (void)reloadSectionController:(IGListSectionController *)sectionController { +- (void)reloadSectionController:(IGListSectionController *)sectionController { [self reloadData]; [self.forwardingBatchContext reloadSectionController:self]; } #pragma mark - IGListDisplayDelegate -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { - IGListSectionController *childSectionController = [self sectionControllerForObjectIndex:index]; +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { + IGListSectionController *childSectionController = [self sectionControllerForObjectIndex:index]; const NSInteger localIndex = [self localIndexForSectionController:childSectionController index:index]; // update the assoc objects for use in didEndDisplay @@ -367,9 +367,9 @@ - (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(I [visibleSectionControllers addObject:childSectionController]; } -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { const NSInteger localIndex = [cell ig_stackedSectionControllerIndex]; - IGListSectionController *childSectionController = [cell ig_stackedSectionController]; + IGListSectionController *childSectionController = [cell ig_stackedSectionController]; NSCountedSet *visibleSectionControllers = self.visibleSectionControllers; id displayDelegate = [childSectionController displayDelegate]; @@ -382,39 +382,39 @@ - (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionControll } } -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController {} -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController {} +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController {} +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController {} #pragma mark - IGListScrollDelegate -- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController { - for (IGListSectionController *childSectionController in self.sectionControllers) { +- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController { + for (IGListSectionController *childSectionController in self.sectionControllers) { [[childSectionController scrollDelegate] listAdapter:listAdapter didScrollSectionController:childSectionController]; } } -- (void)listAdapter:(IGListAdapter *)listAdapter willBeginDraggingSectionController:(IGListSectionController *)sectionController { - for (IGListSectionController *childSectionController in self.sectionControllers) { +- (void)listAdapter:(IGListAdapter *)listAdapter willBeginDraggingSectionController:(IGListSectionController *)sectionController { + for (IGListSectionController *childSectionController in self.sectionControllers) { [[childSectionController scrollDelegate] listAdapter:listAdapter willBeginDraggingSectionController:childSectionController]; } } -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDraggingSectionController:(IGListSectionController *)sectionController willDecelerate:(BOOL)decelerate { - for (IGListSectionController *childSectionController in self.sectionControllers) { +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDraggingSectionController:(IGListSectionController *)sectionController willDecelerate:(BOOL)decelerate { + for (IGListSectionController *childSectionController in self.sectionControllers) { [[childSectionController scrollDelegate] listAdapter:listAdapter didEndDraggingSectionController:childSectionController willDecelerate:decelerate]; } } #pragma mark - IGListWorkingRangeDelegate -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController { - for (IGListSectionController *childSectionController in self.sectionControllers) { +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController { + for (IGListSectionController *childSectionController in self.sectionControllers) { [[childSectionController workingRangeDelegate] listAdapter:listAdapter sectionControllerWillEnterWorkingRange:childSectionController]; } } -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController { - for (IGListSectionController *childSectionController in self.sectionControllers) { +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController { + for (IGListSectionController *childSectionController in self.sectionControllers) { [[childSectionController workingRangeDelegate] listAdapter:listAdapter sectionControllerDidExitWorkingRange:childSectionController]; } } diff --git a/Source/IGListWorkingRangeDelegate.h b/Source/IGListWorkingRangeDelegate.h index b861090f1..daf31738f 100644 --- a/Source/IGListWorkingRangeDelegate.h +++ b/Source/IGListWorkingRangeDelegate.h @@ -12,7 +12,7 @@ @class IGListAdapter; @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -30,7 +30,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The adapter controlling the list. @param sectionController The section controller entering the range. */ -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController; /** Notifies the delegate that an section controller exited the working range. @@ -38,7 +38,7 @@ NS_ASSUME_NONNULL_BEGIN @param listAdapter The adapter controlling the list. @param sectionController The section controller that exited the range. */ -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController; +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController; @end diff --git a/Source/Internal/IGListAdapter+UICollectionView.m b/Source/Internal/IGListAdapter+UICollectionView.m index 15fe2dbd6..c2a6019c0 100644 --- a/Source/Internal/IGListAdapter+UICollectionView.m +++ b/Source/Internal/IGListAdapter+UICollectionView.m @@ -22,7 +22,7 @@ - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView } - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section { - IGListSectionController * sectionController = [self sectionControllerForSection:section]; + IGListSectionController * sectionController = [self sectionControllerForSection:section]; IGAssert(sectionController != nil, @"Nil section controller for section %zi for item %@. Check your -diffIdentifier and -isEqual: implementations.", section, [self.sectionMap objectForSection:section]); const NSInteger numberOfItems = [sectionController numberOfItems]; @@ -31,7 +31,7 @@ - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSe } - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath { - IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; + IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; // flag that a cell is being dequeued in case it tries to access a cell in the process _isDequeuingCell = YES; @@ -47,7 +47,7 @@ - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cell } - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath { - IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; + IGListSectionController *sectionController = [self sectionControllerForSection:indexPath.section]; id supplementarySource = [sectionController supplementaryViewSource]; UICollectionReusableView *view = [supplementarySource viewForSupplementaryElementOfKind:kind atIndex:indexPath.item]; IGAssert(view != nil, @"Returned a nil supplementary view at indexPath <%@> from section controller: <%@>, supplementary source: <%@>", indexPath, sectionController, supplementarySource); @@ -67,7 +67,7 @@ - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPa [collectionViewDelegate collectionView:collectionView didSelectItemAtIndexPath:indexPath]; } - IGListSectionController * sectionController = [self sectionControllerForSection:indexPath.section]; + IGListSectionController * sectionController = [self sectionControllerForSection:indexPath.section]; [sectionController didSelectItemAtIndex:indexPath.item]; } @@ -78,7 +78,7 @@ - (void)collectionView:(UICollectionView *)collectionView willDisplayCell:(UICol [collectionViewDelegate collectionView:collectionView willDisplayCell:cell forItemAtIndexPath:indexPath]; } - IGListSectionController *sectionController = [self sectionControllerForView:cell]; + IGListSectionController *sectionController = [self sectionControllerForView:cell]; // if the section controller relationship was destroyed, reconnect it // this happens with iOS 10 UICollectionView display range changes if (sectionController == nil) { @@ -101,7 +101,7 @@ - (void)collectionView:(UICollectionView *)collectionView didEndDisplayingCell:( [collectionViewDelegate collectionView:collectionView didEndDisplayingCell:cell forItemAtIndexPath:indexPath]; } - IGListSectionController *sectionController = [self sectionControllerForView:cell]; + IGListSectionController *sectionController = [self sectionControllerForView:cell]; [self.displayHandler didEndDisplayingCell:cell forListAdapter:self sectionController:sectionController indexPath:indexPath]; [self.workingRangeHandler didEndDisplayingItemAtIndexPath:indexPath forListAdapter:self]; @@ -115,7 +115,7 @@ - (void)collectionView:(UICollectionView *)collectionView willDisplaySupplementa [collectionViewDelegate collectionView:collectionView willDisplaySupplementaryView:view forElementKind:elementKind atIndexPath:indexPath]; } - IGListSectionController *sectionController = [self sectionControllerForView:view]; + IGListSectionController *sectionController = [self sectionControllerForView:view]; // if the section controller relationship was destroyed, reconnect it // this happens with iOS 10 UICollectionView display range changes if (sectionController == nil) { @@ -133,7 +133,7 @@ - (void)collectionView:(UICollectionView *)collectionView didEndDisplayingSupple [collectionViewDelegate collectionView:collectionView didEndDisplayingSupplementaryView:view forElementOfKind:elementKind atIndexPath:indexPath]; } - IGListSectionController *sectionController = [self sectionControllerForView:view]; + IGListSectionController *sectionController = [self sectionControllerForView:view]; [self.displayHandler didEndDisplayingSupplementaryView:view forListAdapter:self sectionController:sectionController indexPath:indexPath]; [self removeMapForView:view]; diff --git a/Source/Internal/IGListAdapterInternal.h b/Source/Internal/IGListAdapterInternal.h index 555bd70a7..b5dd843a4 100644 --- a/Source/Internal/IGListAdapterInternal.h +++ b/Source/Internal/IGListAdapterInternal.h @@ -63,11 +63,11 @@ IGListBatchContext @property (nonatomic, strong) NSMutableSet *registeredSupplementaryViewNibNames; -- (void)mapView:(__kindof UIView *)view toSectionController:(IGListSectionController *)sectionController; -- (nullable IGListSectionController *)sectionControllerForView:(__kindof UIView *)view; +- (void)mapView:(__kindof UIView *)view toSectionController:(IGListSectionController *)sectionController; +- (nullable IGListSectionController *)sectionControllerForView:(__kindof UIView *)view; - (void)removeMapForView:(__kindof UIView *)view; -- (NSArray *)indexPathsFromSectionController:(IGListSectionController *)sectionController +- (NSArray *)indexPathsFromSectionController:(IGListSectionController *)sectionController indexes:(NSIndexSet *)indexes usePreviousIfInUpdateBlock:(BOOL)usePreviousIfInUpdateBlock; diff --git a/Source/Internal/IGListDisplayHandler.h b/Source/Internal/IGListDisplayHandler.h index cd9d59770..650a7ca3f 100644 --- a/Source/Internal/IGListDisplayHandler.h +++ b/Source/Internal/IGListDisplayHandler.h @@ -14,7 +14,7 @@ @class IGListAdapter; @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -32,7 +32,7 @@ IGLK_SUBCLASSING_RESTRICTED */ - (void)willDisplayCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath; @@ -46,7 +46,7 @@ IGLK_SUBCLASSING_RESTRICTED */ - (void)didEndDisplayingCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath; @@ -61,7 +61,7 @@ IGLK_SUBCLASSING_RESTRICTED */ - (void)willDisplaySupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath; @@ -76,7 +76,7 @@ IGLK_SUBCLASSING_RESTRICTED */ - (void)didEndDisplayingSupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath; @end diff --git a/Source/Internal/IGListDisplayHandler.m b/Source/Internal/IGListDisplayHandler.m index 5dd7564ad..5c69ab6cf 100644 --- a/Source/Internal/IGListDisplayHandler.m +++ b/Source/Internal/IGListDisplayHandler.m @@ -40,7 +40,7 @@ - (id)pluckObjectForView:(UICollectionReusableView *)view { - (void)willDisplayReusableView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath { IGParameterAssert(view != nil); @@ -59,7 +59,7 @@ - (void)willDisplayReusableView:(UICollectionReusableView *)view - (void)didEndDisplayingReusableView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath { IGParameterAssert(view != nil); @@ -83,7 +83,7 @@ - (void)didEndDisplayingReusableView:(UICollectionReusableView *)view - (void)willDisplaySupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath { [self willDisplayReusableView:view forListAdapter:listAdapter sectionController:sectionController object:object indexPath:indexPath]; @@ -91,7 +91,7 @@ - (void)willDisplaySupplementaryView:(UICollectionReusableView *)view - (void)didEndDisplayingSupplementaryView:(UICollectionReusableView *)view forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath { // if cell display events break, don't send display events when the object has disappeared id object = [self pluckObjectForView:view]; @@ -100,7 +100,7 @@ - (void)didEndDisplayingSupplementaryView:(UICollectionReusableView *)view - (void)willDisplayCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController object:(id)object indexPath:(NSIndexPath *)indexPath { id displayDelegate = [sectionController displayDelegate]; @@ -110,7 +110,7 @@ - (void)willDisplayCell:(UICollectionViewCell *)cell - (void)didEndDisplayingCell:(UICollectionViewCell *)cell forListAdapter:(IGListAdapter *)listAdapter - sectionController:(IGListSectionController *)sectionController + sectionController:(IGListSectionController *)sectionController indexPath:(NSIndexPath *)indexPath { // if cell display events break, don't send cell events to the displayDelegate when the object has disappeared id object = [self pluckObjectForView:cell]; diff --git a/Source/Internal/IGListSectionMap.h b/Source/Internal/IGListSectionMap.h index c997ccb44..e39b4f50b 100644 --- a/Source/Internal/IGListSectionMap.h +++ b/Source/Internal/IGListSectionMap.h @@ -12,7 +12,7 @@ #import @class IGListSectionController; -@protocol IGListSectionType; + NS_ASSUME_NONNULL_BEGIN @@ -47,7 +47,7 @@ IGLK_SUBCLASSING_RESTRICTED @return A section controller. */ -- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section; +- (nullable IGListSectionController *)sectionControllerForSection:(NSInteger)section; /** Fetch the object for a section @@ -100,7 +100,7 @@ IGLK_SUBCLASSING_RESTRICTED @param block A block object to operate on entries in the section controller map. */ -- (void)enumerateUsingBlock:(void (^)(id object, IGListSectionController *sectionController, NSInteger section, BOOL *stop))block; +- (void)enumerateUsingBlock:(void (^)(id object, IGListSectionController *sectionController, NSInteger section, BOOL *stop))block; /** :nodoc: diff --git a/Source/Internal/IGListSectionMap.m b/Source/Internal/IGListSectionMap.m index 8a5ecb421..c1abc9cf3 100644 --- a/Source/Internal/IGListSectionMap.m +++ b/Source/Internal/IGListSectionMap.m @@ -14,8 +14,8 @@ @interface IGListSectionMap () // both of these maps allow fast lookups of objects, list objects, and indexes -@property (nonatomic, strong, readonly, nonnull) NSMapTable *> *objectToSectionControllerMap; -@property (nonatomic, strong, readonly, nonnull) NSMapTable *, NSNumber *> *sectionControllerToSectionMap; +@property (nonatomic, strong, readonly, nonnull) NSMapTable *objectToSectionControllerMap; +@property (nonatomic, strong, readonly, nonnull) NSMapTable *sectionControllerToSectionMap; @property (nonatomic, strong, nonnull) NSMutableArray *mObjects; @@ -45,14 +45,14 @@ - (NSArray *)objects { return [self.mObjects copy]; } -- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { +- (NSInteger)sectionForSectionController:(IGListSectionController *)sectionController { IGParameterAssert(sectionController != nil); NSNumber *index = [self.sectionControllerToSectionMap objectForKey:sectionController]; return index != nil ? [index integerValue] : NSNotFound; } -- (IGListSectionController *)sectionControllerForSection:(NSInteger)section { +- (IGListSectionController *)sectionControllerForSection:(NSInteger)section { return [self.objectToSectionControllerMap objectForKey:[self objectForSection:section]]; } @@ -64,7 +64,7 @@ - (void)updateWithObjects:(NSArray *)objects sectionControllers:(NSArray *)secti [self reset]; [objects enumerateObjectsUsingBlock:^(id object, NSUInteger idx, BOOL *stop) { - IGListSectionController *sectionController = sectionControllers[idx]; + IGListSectionController *sectionController = sectionControllers[idx]; // set the index of the list for easy reverse lookup [self.sectionControllerToSectionMap setObject:@(idx) forKey:sectionController]; @@ -72,7 +72,7 @@ - (void)updateWithObjects:(NSArray *)objects sectionControllers:(NSArray *)secti }]; } -- (nullable IGListSectionController *)sectionControllerForObject:(id)object { +- (nullable IGListSectionController *)sectionControllerForObject:(id)object { IGParameterAssert(object != nil); return [self.objectToSectionControllerMap objectForKey:object]; @@ -112,14 +112,14 @@ - (void)updateObject:(id)object { self.mObjects[section] = object; } -- (void)enumerateUsingBlock:(void (^)(id object, IGListSectionController *sectionController, NSInteger section, BOOL *stop))block { +- (void)enumerateUsingBlock:(void (^)(id object, IGListSectionController *sectionController, NSInteger section, BOOL *stop))block { IGParameterAssert(block != nil); BOOL stop = NO; NSArray *objects = self.objects; for (NSInteger section = 0; section < objects.count; section++) { id object = objects[section]; - IGListSectionController *sectionController = [self sectionControllerForObject:object]; + IGListSectionController *sectionController = [self sectionControllerForObject:object]; block(object, sectionController, section, &stop); if (stop) { break; diff --git a/Source/Internal/IGListStackedSectionControllerInternal.h b/Source/Internal/IGListStackedSectionControllerInternal.h index 4134deba7..252af5a76 100644 --- a/Source/Internal/IGListStackedSectionControllerInternal.h +++ b/Source/Internal/IGListStackedSectionControllerInternal.h @@ -20,10 +20,10 @@ IGListScrollDelegate, IGListWorkingRangeDelegate > -@property (nonatomic, strong, readonly) NSOrderedSet<__kindof IGListSectionController *> *sectionControllers; +@property (nonatomic, strong, readonly) NSOrderedSet<__kindof IGListSectionController *> *sectionControllers; /// An array the length of the total number of items in the stack, pointing to a section controller for the item index. -@property (nonatomic, copy) NSArray *> *sectionControllersForItems; +@property (nonatomic, copy) NSArray *sectionControllersForItems; /// An array of index offsets for each item in the flattened stack. @property (nonatomic, copy) NSArray *sectionControllerOffsets; @@ -37,8 +37,8 @@ IGListWorkingRangeDelegate /// Temporary batch context so the stack controller can transform child indices within the stack before updating. @property (nonatomic, strong) id forwardingBatchContext; -- (IGListSectionController *)sectionControllerForObjectIndex:(NSInteger)itemIndex; -- (NSInteger)offsetForSectionController:(IGListSectionController *)sectionController; +- (IGListSectionController *)sectionControllerForObjectIndex:(NSInteger)itemIndex; +- (NSInteger)offsetForSectionController:(IGListSectionController *)sectionController; - (void)reloadData; @end diff --git a/Source/Internal/IGListWorkingRangeHandler.h b/Source/Internal/IGListWorkingRangeHandler.h index cb2db6160..acf7058c0 100644 --- a/Source/Internal/IGListWorkingRangeHandler.h +++ b/Source/Internal/IGListWorkingRangeHandler.h @@ -11,7 +11,7 @@ @class IGListAdapter; -@protocol IGListSectionType; + @interface IGListWorkingRangeHandler : NSObject diff --git a/Source/Internal/IGListWorkingRangeHandler.mm b/Source/Internal/IGListWorkingRangeHandler.mm index 31257f88b..f247d3899 100644 --- a/Source/Internal/IGListWorkingRangeHandler.mm +++ b/Source/Internal/IGListWorkingRangeHandler.mm @@ -31,7 +31,7 @@ }; struct _IGListWorkingRangeHandlerSectionControllerWrapper { - IGListSectionController *sectionController; + IGListSectionController *sectionController; bool operator==(const _IGListWorkingRangeHandlerSectionControllerWrapper &other) const { return (sectionController == other.sectionController); @@ -126,7 +126,7 @@ - (void)updateWorkingRangesWithListAdapter:(IGListAdapter *)listAdapter { _IGListWorkingRangeSectionControllerSet workingRangeSectionControllers (visibleSectionSet.size()); for (NSInteger idx = start; idx < end; idx++) { id item = [listAdapter objectAtSection:idx]; - id sectionController = [listAdapter sectionControllerForObject:item]; + IGListSectionController *sectionController = [listAdapter sectionControllerForObject:item]; workingRangeSectionControllers.insert({sectionController}); } diff --git a/Tests/IGListAdapterE2ETests.m b/Tests/IGListAdapterE2ETests.m index dd919fad7..d40b4fe05 100644 --- a/Tests/IGListAdapterE2ETests.m +++ b/Tests/IGListAdapterE2ETests.m @@ -211,7 +211,7 @@ - (void)test_whenSectionControllerInsertsIndexes_thatCountsAreUpdated { ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { @@ -233,7 +233,7 @@ - (void)test_whenSectionControllerDeletesIndexes_thatCountsAreUpdated { ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { @@ -257,7 +257,7 @@ - (void)test_whenSectionControllerReloadsIndexes_thatCellConfigurationUpdates { XCTAssertEqualObjects(cell.label.text, @"a"); IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { @@ -279,7 +279,7 @@ - (void)test_whenSectionControllerReloads_thatCountsAreUpdated { ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { @@ -308,8 +308,8 @@ - (void)test_whenPerformingUpdates_withSectionControllerMutations_thatCollection object2, ]; - IGListSectionController *sectionController1 = [self.adapter sectionControllerForObject:object1]; - IGListSectionController *sectionController2 = [self.adapter sectionControllerForObject:object2]; + IGListSectionController *sectionController1 = [self.adapter sectionControllerForObject:object1]; + IGListSectionController *sectionController2 = [self.adapter sectionControllerForObject:object2]; [self.adapter performUpdatesAnimated:YES completion:nil]; @@ -343,7 +343,7 @@ - (void)test_whenSectionControllerMoves_withSectionControllerMutations_thatColle object, // moved from 0 to 1 ]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; // queue the update that performs the section move [self.adapter performUpdatesAnimated:YES completion:nil]; @@ -376,7 +376,7 @@ - (void)test_whenItemIsRemoved_withSectionControllerMutations_thatCollectionView genTestObject(@2, @2), ]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; [self.adapter performUpdatesAnimated:YES completion:nil]; @@ -419,7 +419,7 @@ - (void)test_whenPerformingUpdates_withItemMoving_withSectionControllerReloadInd genTestObject(@2, @3), ]]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:self.dataSource.objects[0]]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:self.dataSource.objects[0]]; self.dataSource.objects = @[ genTestObject(@2, @3), @@ -446,7 +446,7 @@ - (void)test_whenPerformingUpdates_withSectionControllerReloadIndexes_withItemDe genTestObject(@2, @3), ]]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:self.dataSource.objects[0]]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:self.dataSource.objects[0]]; self.dataSource.objects = @[ genTestObject(@2, @3), @@ -473,8 +473,8 @@ - (void)test_whenPerformingUpdates_withNewItemInstances_thatSectionControllersEq // grab section controllers before updating the objects NSArray *beforeupdateObjects = self.dataSource.objects; - IGListSectionController *sectionController1 = [self.adapter sectionControllerForObject:beforeupdateObjects.firstObject]; - IGListSectionController *sectionController2 = [self.adapter sectionControllerForObject:beforeupdateObjects.lastObject]; + IGListSectionController *sectionController1 = [self.adapter sectionControllerForObject:beforeupdateObjects.firstObject]; + IGListSectionController *sectionController2 = [self.adapter sectionControllerForObject:beforeupdateObjects.lastObject]; self.dataSource.objects = @[ genTestObject(@1, @3), // new instance, value changed from 2 to 3 @@ -578,7 +578,7 @@ - (void)test_whenSectionControllerMutates_withReloadData_thatSectionControllerMu genTestObject(@2, @2), ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { object.value = @3; @@ -1063,7 +1063,7 @@ - (void)test_whenReloadingItems_withDeleteAndInsertCollision_thatUpdateCanBeAppl genTestObject(@3, @1), ]]; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; XCTestExpectation *expectation = genExpectation; [section.collectionContext performBatchAnimated:NO updates:^(id batchContext) { @@ -1084,7 +1084,7 @@ - (void)test_whenReloadingItems_withSectionInsertedInFront_thatUpdateCanBeApplie genTestObject(@3, @1), ]]; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; XCTestExpectation *expectation1 = genExpectation; [section.collectionContext performBatchAnimated:NO updates:^(id batchContext) { @@ -1115,7 +1115,7 @@ - (void)test_whenReloadingItems_withSectionDeletedInFront_thatUpdateCanBeApplied genTestObject(@3, @1), ]]; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects[1]]; XCTestExpectation *expectation1 = genExpectation; [section.collectionContext performBatchAnimated:NO updates:^(id batchContext) { @@ -1174,7 +1174,7 @@ - (void)test_whenQueuingUpdate_withSectionControllerBatchUpdate_thatSectionContr XCTAssertEqual([collectionView numberOfSections], 1); XCTAssertEqual([collectionView numberOfItemsInSection:0], 2); - IGListSectionController *section = [adapter sectionControllerForObject:object]; + IGListSectionController *section = [adapter sectionControllerForObject:object]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { object.value = @3; @@ -1198,7 +1198,7 @@ - (void)test_whenMovingItems_withObjectMoving_thatCollectionViewWorks { ]]; __block BOOL executed = NO; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { [batchContext moveInSectionController:section fromIndex:0 toIndex:1]; executed = YES; @@ -1225,7 +1225,7 @@ - (void)test_whenMovingItems_withObjectReloaded_thatCollectionViewWorks { ]]; __block BOOL executed = NO; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { [batchContext moveInSectionController:section fromIndex:0 toIndex:1]; executed = YES; @@ -1250,7 +1250,7 @@ - (void)test_whenMovingItems_withObjectDeleted_thatCollectionViewWorks { ]]; __block BOOL executed = NO; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { [batchContext moveInSectionController:section fromIndex:0 toIndex:1]; executed = YES; @@ -1273,7 +1273,7 @@ - (void)test_whenMovingItems_withObjectInsertedBefore_thatCollectionViewWorks { ]]; __block BOOL executed = NO; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { [batchContext moveInSectionController:section fromIndex:0 toIndex:1]; executed = YES; @@ -1304,7 +1304,7 @@ - (void)test_whenMovingItems_thatCollectionViewWorks { cell2.label.text = @"bar"; XCTestExpectation *expectation = genExpectation; - IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; + IGListSectionController *section = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; [section.collectionContext performBatchAnimated:YES updates:^(id batchContext) { [batchContext moveInSectionController:section fromIndex:0 toIndex:1]; } completion:^(BOOL finished) { @@ -1428,7 +1428,7 @@ - (void)test_whenDidUpdateAsyncReloads_withBatchUpdatesInProgress_thatReloadIsEx XCTestExpectation *expectation1 = genExpectation; __weak __typeof__(section) weakSection = section; section.itemUpdateBlock = ^{ - // currently inside -[IGListSectionType didUpdateToObject:], change the item (note: NEVER do this) manually + // currently inside -[IGListSectionController didUpdateToObject:], change the item (note: NEVER do this) manually // so that the data powering numberOfItems changes (1 to 2). dispatch_async the update to skip outside of the // -[UICollectionView performBatchUpdates:completion:] block execution [weakSection.collectionContext performBatchAnimated:NO updates:^(id batchContext) { @@ -1462,7 +1462,7 @@ - (void)test_whenInsertingItemsTwice_withDataUpdatedTwice_thatAllUpdatesAppliedW ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { @@ -1483,7 +1483,7 @@ - (void)test_whenDeletingItemsTwice_withDataUpdatedTwice_thatAllUpdatesAppliedWi ]]; IGTestObject *object = self.dataSource.objects[0]; - IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; + IGListSectionController *sectionController = [self.adapter sectionControllerForObject:object]; XCTestExpectation *expectation = genExpectation; [sectionController.collectionContext performBatchAnimated:YES updates:^(id batchContext) { diff --git a/Tests/IGListAdapterStoryboardTests.m b/Tests/IGListAdapterStoryboardTests.m index 7e3c12fcf..2140b51bb 100644 --- a/Tests/IGListAdapterStoryboardTests.m +++ b/Tests/IGListAdapterStoryboardTests.m @@ -67,7 +67,7 @@ - (void)setupWithObjects:(NSArray *)objects { supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionHeader]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; diff --git a/Tests/IGListAdapterTests.m b/Tests/IGListAdapterTests.m index 0b48dfa88..49ff31726 100644 --- a/Tests/IGListAdapterTests.m +++ b/Tests/IGListAdapterTests.m @@ -103,14 +103,14 @@ - (void)test_whenAdapterReloaded_thatAdapterHasSectionControllers { - (void)test_whenAdapterUpdated_thatSectionControllerHasSection { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * list = [self.adapter sectionControllerForObject:@1]; + IGListSectionController * list = [self.adapter sectionControllerForObject:@1]; XCTAssertEqual([self.adapter sectionForSectionController:list], 1); } - (void)test_whenAdapterUpdated_withUnknownItem_thatSectionControllerHasNoSection { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * randomList = [[IGListTestSection alloc] init]; + IGListSectionController * randomList = [[IGListTestSection alloc] init]; XCTAssertEqual([self.adapter sectionForSectionController:randomList], NSNotFound); } @@ -123,21 +123,21 @@ - (void)test_whenQueryingAdapter_withUnknownItem_thatSectionControllerIsNil { - (void)test_whenAdapterUpdated_thatSectionControllerHasCorrectObject { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * list = [self.adapter sectionControllerForObject:@1]; + IGListSectionController * list = [self.adapter sectionControllerForObject:@1]; XCTAssertEqual([self.adapter objectForSectionController:list], @1); } - (void)test_whenQueryingAdapter_withUnknownItem_thatObjectForSectionControllerIsNil { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * randomList = [[IGListTestSection alloc] init]; + IGListSectionController * randomList = [[IGListTestSection alloc] init]; XCTAssertNil([self.adapter objectForSectionController:randomList]); } - (void)test_whenQueryingIndexPaths_withSectionController_thatPathsAreEqual { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * second = [self.adapter sectionControllerForObject:@1]; + IGListSectionController * second = [self.adapter sectionControllerForObject:@1]; NSArray *paths0 = [self.adapter indexPathsFromSectionController:second indexes:[NSIndexSet indexSetWithIndexesInRange:NSMakeRange(2, 4)] usePreviousIfInUpdateBlock:NO]; @@ -153,7 +153,7 @@ - (void)test_whenQueryingIndexPaths_withSectionController_thatPathsAreEqual { - (void)test_whenQueryingIndexPaths_insideBatchUpdateBlock_thatPathsAreEqual { self.dataSource.objects = @[@0, @1, @2]; [self.adapter performUpdatesAnimated:YES completion:nil]; - IGListSectionController * second = [self.adapter sectionControllerForObject:@1]; + IGListSectionController * second = [self.adapter sectionControllerForObject:@1]; __block BOOL executed = NO; [self.adapter performBatchAnimated:YES updates:^(id batchContext) { @@ -209,9 +209,9 @@ - (void)test_whenDataSourceChanges_thatBackgroundViewVisibilityChanges { - (void)test_whenReloadingData_thatNewSectionControllersAreCreated { self.dataSource.objects = @[@0, @1, @2]; [self.adapter reloadDataWithCompletion:nil]; - IGListSectionController *oldSectionController = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *oldSectionController = [self.adapter sectionControllerForObject:@1]; [self.adapter reloadDataWithCompletion:nil]; - IGListSectionController *newSectionController = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *newSectionController = [self.adapter sectionControllerForObject:@1]; XCTAssertNotEqual(oldSectionController, newSectionController); } @@ -223,7 +223,7 @@ - (void)test_whenSettingCollectionView_thenSettingDataSource_thatViewControllerI workingRangeSize:0]; adapter.collectionView = self.collectionView; adapter.dataSource = self.dataSource; - IGListSectionController *sectionController = [adapter sectionControllerForObject:@1]; + IGListSectionController *sectionController = [adapter sectionControllerForObject:@1]; XCTAssertEqual(controller, sectionController.viewController); } @@ -466,7 +466,7 @@ - (void)test_whenSupplementarySourceSupportsFooter_thatHeaderViewsAreNil { supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionFooter]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -487,7 +487,7 @@ - (void)test_whenSupplementarySourceSupportsFooter_withNibs_thatHeaderViewsAreNi supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionFooter]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -708,7 +708,7 @@ - (void)test_whenScrollToItem_thatSupplementarySourceSupportsSingleHeader { supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionHeader]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -729,7 +729,7 @@ - (void)test_whenScrollToItem_thatSupplementarySourceSupportsHeaderAndFooter { supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionHeader, UICollectionElementKindSectionFooter]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -977,7 +977,7 @@ - (void)test_whenScrollingToIndex_withSectionController_thatPositionCorrect { self.dataSource.objects = @[@1, @2, @3, @4, @5, @6, @7, @8, @9, @10, @11, @12, @13, @14, @15, @16, @17, @18, @19]; [self.adapter reloadDataWithCompletion:nil]; - IGListSectionController *section = [self.adapter sectionControllerForObject:@8]; + IGListSectionController *section = [self.adapter sectionControllerForObject:@8]; [section.collectionContext scrollToSectionController:section atIndex:0 scrollPosition:UICollectionViewScrollPositionTop animated:NO]; XCTAssertEqual(self.collectionView.contentOffset.x, 0); XCTAssertEqual(self.collectionView.contentOffset.y, 280); @@ -992,7 +992,7 @@ - (void)test_whenDisplayingSectionController_withOnlySupplementaryView_thatDispl supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionHeader]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@0]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@0]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -1017,7 +1017,7 @@ - (void)test_whenEndingDisplayOfSectionController_withOnlySupplementaryView_that supplementarySource.collectionContext = self.adapter; supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionHeader]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@0]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@0]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -1079,7 +1079,7 @@ - (void)test_whenSectionEdgeInsetIsNotZero { // IGListTestAdapterDataSource does not handle NSStrings self.dataSource.objects = @[@42]; [self.adapter reloadDataWithCompletion:nil]; - IGListSectionController *controller = [self.adapter sectionControllerForObject:@42]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@42]; IGAssertEqualSize([self.adapter containerSizeForSectionController:controller], 98, 98); } @@ -1101,7 +1101,7 @@ - (void)test_whenSupplementarySourceReturnsNegativeSize_thatAdapterReturnsZero { supplementarySource.supportedElementKinds = @[UICollectionElementKindSectionFooter]; supplementarySource.size = CGSizeMake(-1, -1); - IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@1]; controller.supplementaryViewSource = supplementarySource; supplementarySource.sectionController = controller; @@ -1115,7 +1115,7 @@ - (void)test_whenQueryingContainerInset_thatMatchesCollectionView { self.dataSource.objects = @[@2]; [self.adapter reloadDataWithCompletion:nil]; self.collectionView.contentInset = UIEdgeInsetsMake(1, 2, 3, 4); - IGListSectionController *controller = [self.adapter sectionControllerForObject:@2]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@2]; const UIEdgeInsets inset = [controller.collectionContext containerInset]; XCTAssertEqual(inset.top, 1); XCTAssertEqual(inset.left, 2); @@ -1127,7 +1127,7 @@ - (void)test_whenQueryingInsetContainerSize_thatResultIsBoundsInsetByContent { self.dataSource.objects = @[@2]; [self.adapter reloadDataWithCompletion:nil]; self.collectionView.contentInset = UIEdgeInsetsMake(1, 2, 3, 4); - IGListSectionController *controller = [self.adapter sectionControllerForObject:@2]; + IGListSectionController *controller = [self.adapter sectionControllerForObject:@2]; const CGSize size = [controller.collectionContext insetContainerSize]; XCTAssertEqual(size.width, 94); XCTAssertEqual(size.height, 96); diff --git a/Tests/IGListSectionMapTests.m b/Tests/IGListSectionMapTests.m index 4f62a4fcc..6068e425f 100644 --- a/Tests/IGListSectionMapTests.m +++ b/Tests/IGListSectionMapTests.m @@ -75,7 +75,7 @@ - (void)test_whenEnumeratingMap_withStopFlagSet_thatEnumerationEndsEarly { IGListSectionMap *map = [[IGListSectionMap alloc] initWithMapTable:[NSMapTable strongToStrongObjectsMapTable]]; [map updateWithObjects:objects sectionControllers:sectionControllers]; __block NSInteger counter = 0; - [map enumerateUsingBlock:^(id item, IGListSectionController * sectionController, NSInteger section, BOOL *stop) { + [map enumerateUsingBlock:^(id item, IGListSectionController * sectionController, NSInteger section, BOOL *stop) { counter++; *stop = section == 1; }]; diff --git a/Tests/IGListStackSectionControllerTests.m b/Tests/IGListStackSectionControllerTests.m index 1eecfc2a5..08128cb33 100644 --- a/Tests/IGListStackSectionControllerTests.m +++ b/Tests/IGListStackSectionControllerTests.m @@ -801,7 +801,7 @@ - (void)test_whenDeselectingChildSectionControllerIndex_thatCorrectCellDeselecte XCTAssertTrue([[self.collectionView cellForItemAtIndexPath:path] isSelected]); IGListStackedSectionController *stack = [self.adapter sectionControllerForObject:self.dataSource.objects.lastObject]; - IGListSectionController *section = stack.sectionControllers.lastObject; + IGListSectionController *section = stack.sectionControllers.lastObject; [section.collectionContext deselectItemAtIndex:0 sectionController:section animated:NO]; XCTAssertFalse([[self.collectionView cellForItemAtIndexPath:path] isSelected]); } diff --git a/Tests/IGListWorkingRangeHandlerTests.m b/Tests/IGListWorkingRangeHandlerTests.m index 598ad0c49..f9cab5d07 100644 --- a/Tests/IGListWorkingRangeHandlerTests.m +++ b/Tests/IGListWorkingRangeHandlerTests.m @@ -47,7 +47,7 @@ - (UIView *)emptyViewForListAdapter:(IGListAdapter *)listAdapter { return _objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { return [_map objectForKey:object]; } diff --git a/Tests/Objects/IGListTestAdapterDataSource.m b/Tests/Objects/IGListTestAdapterDataSource.m index e1edd1c4b..8b4f4d987 100644 --- a/Tests/Objects/IGListTestAdapterDataSource.m +++ b/Tests/Objects/IGListTestAdapterDataSource.m @@ -20,7 +20,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { if ([object isKindOfClass:[NSNumber class]]) { if ([(NSNumber*)object isEqual: @42]) { return [IGListTestContainerSizeSection new]; diff --git a/Tests/Objects/IGListTestAdapterHorizontalDataSource.m b/Tests/Objects/IGListTestAdapterHorizontalDataSource.m index 51f9fdc79..00d91aee1 100644 --- a/Tests/Objects/IGListTestAdapterHorizontalDataSource.m +++ b/Tests/Objects/IGListTestAdapterHorizontalDataSource.m @@ -19,7 +19,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { IGListTestHorizontalSection *list = [[IGListTestHorizontalSection alloc] init]; return list; } diff --git a/Tests/Objects/IGListTestAdapterStoryboardDataSource.m b/Tests/Objects/IGListTestAdapterStoryboardDataSource.m index ddf06ce97..5575b1f9f 100644 --- a/Tests/Objects/IGListTestAdapterStoryboardDataSource.m +++ b/Tests/Objects/IGListTestAdapterStoryboardDataSource.m @@ -19,7 +19,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { IGListTestStoryboardSection *list = [[IGListTestStoryboardSection alloc] init]; return list; } diff --git a/Tests/Objects/IGListTestContainerSizeSection.h b/Tests/Objects/IGListTestContainerSizeSection.h index e5b6777c0..aee5fd084 100644 --- a/Tests/Objects/IGListTestContainerSizeSection.h +++ b/Tests/Objects/IGListTestContainerSizeSection.h @@ -10,9 +10,9 @@ #import #import -#import -@interface IGListTestContainerSizeSection : IGListSectionController + +@interface IGListTestContainerSizeSection : IGListSectionController @property (nonatomic, assign) NSInteger items; diff --git a/Tests/Objects/IGListTestHorizontalSection.h b/Tests/Objects/IGListTestHorizontalSection.h index e91474f66..cddbe5824 100644 --- a/Tests/Objects/IGListTestHorizontalSection.h +++ b/Tests/Objects/IGListTestHorizontalSection.h @@ -10,9 +10,9 @@ #import #import -#import -@interface IGListTestHorizontalSection : IGListSectionController + +@interface IGListTestHorizontalSection : IGListSectionController @property (nonatomic, assign) NSInteger items; diff --git a/Tests/Objects/IGListTestSection.h b/Tests/Objects/IGListTestSection.h index 55502e7d6..00d2230ca 100644 --- a/Tests/Objects/IGListTestSection.h +++ b/Tests/Objects/IGListTestSection.h @@ -10,9 +10,9 @@ #import #import -#import -@interface IGListTestSection : IGListSectionController + +@interface IGListTestSection : IGListSectionController @property (nonatomic, assign) NSInteger items; diff --git a/Tests/Objects/IGListTestStoryboardSection.h b/Tests/Objects/IGListTestStoryboardSection.h index b84af0160..5210adecd 100644 --- a/Tests/Objects/IGListTestStoryboardSection.h +++ b/Tests/Objects/IGListTestStoryboardSection.h @@ -10,9 +10,9 @@ #import #import -#import -@interface IGListTestStoryboardSection : IGListSectionController + +@interface IGListTestStoryboardSection : IGListSectionController @property (nonatomic, assign) NSInteger items; diff --git a/Tests/Objects/IGTestDelegateController.h b/Tests/Objects/IGTestDelegateController.h index bcfa3651e..88a46afb3 100644 --- a/Tests/Objects/IGTestDelegateController.h +++ b/Tests/Objects/IGTestDelegateController.h @@ -13,7 +13,7 @@ @class IGTestObject; -@interface IGTestDelegateController : IGListSectionController +@interface IGTestDelegateController : IGListSectionController @property (nonatomic, strong) IGTestObject *item; diff --git a/Tests/Objects/IGTestDelegateController.m b/Tests/Objects/IGTestDelegateController.m index bedae4870..5f906d114 100644 --- a/Tests/Objects/IGTestDelegateController.m +++ b/Tests/Objects/IGTestDelegateController.m @@ -62,33 +62,33 @@ - (void)didSelectItemAtIndex:(NSInteger)index {} #pragma mark - IGListDisplayDelegate -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController { +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController { self.willDisplayCount++; } -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController { +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController { self.didEndDisplayCount++; } -- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController +- (void)listAdapter:(IGListAdapter *)listAdapter willDisplaySectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { [self.willDisplayCellIndexes addObject:@(index)]; } -- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController +- (void)listAdapter:(IGListAdapter *)listAdapter didEndDisplayingSectionController:(IGListSectionController *)sectionController cell:(UICollectionViewCell *)cell atIndex:(NSInteger)index { [self.didEndDisplayCellIndexes addObject:@(index)]; } -- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController {} +- (void)listAdapter:(IGListAdapter *)listAdapter didScrollSectionController:(IGListSectionController *)sectionController {} #pragma mark - IGListWorkingRangeDelegate -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController { +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerWillEnterWorkingRange:(IGListSectionController *)sectionController { __unused UICollectionViewCell *cell = [self.collectionContext cellForItemAtIndex:0 sectionController:self]; } -- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController {} +- (void)listAdapter:(IGListAdapter *)listAdapter sectionControllerDidExitWorkingRange:(IGListSectionController *)sectionController {} @end diff --git a/Tests/Objects/IGTestDelegateDataSource.m b/Tests/Objects/IGTestDelegateDataSource.m index 1781eace8..c76623459 100644 --- a/Tests/Objects/IGTestDelegateDataSource.m +++ b/Tests/Objects/IGTestDelegateDataSource.m @@ -20,7 +20,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { IGTestDelegateController *sectionController = [[IGTestDelegateController alloc] init]; sectionController.cellConfigureBlock = self.cellConfigureBlock; return sectionController; diff --git a/Tests/Objects/IGTestDiffingDataSource.m b/Tests/Objects/IGTestDiffingDataSource.m index 54b07a823..9b1b31e87 100644 --- a/Tests/Objects/IGTestDiffingDataSource.m +++ b/Tests/Objects/IGTestDiffingDataSource.m @@ -20,7 +20,7 @@ @implementation IGTestDiffingDataSource return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { return [IGTestDiffingSectionController new]; } diff --git a/Tests/Objects/IGTestSingleItemDataSource.m b/Tests/Objects/IGTestSingleItemDataSource.m index 6d5ea8c25..eab0d7aa3 100644 --- a/Tests/Objects/IGTestSingleItemDataSource.m +++ b/Tests/Objects/IGTestSingleItemDataSource.m @@ -19,7 +19,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { void (^configureBlock)(id, __kindof UICollectionViewCell *) = ^(IGTestObject *item, IGTestCell *cell) { cell.label.text = [item.value description]; }; diff --git a/Tests/Objects/IGTestSingleNibItemDataSource.m b/Tests/Objects/IGTestSingleNibItemDataSource.m index 3c91fc85c..9e077f079 100644 --- a/Tests/Objects/IGTestSingleNibItemDataSource.m +++ b/Tests/Objects/IGTestSingleNibItemDataSource.m @@ -19,7 +19,7 @@ @implementation IGTestSingleNibItemDataSource return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { void (^configureBlock)(id, __kindof UICollectionViewCell *) = ^(IGTestObject *item, IGTestCell *cell) { cell.label.text = [item.value description]; diff --git a/Tests/Objects/IGTestSingleStoryboardItemDataSource.m b/Tests/Objects/IGTestSingleStoryboardItemDataSource.m index f1e12ac83..37e746ffa 100644 --- a/Tests/Objects/IGTestSingleStoryboardItemDataSource.m +++ b/Tests/Objects/IGTestSingleStoryboardItemDataSource.m @@ -19,7 +19,7 @@ @implementation IGTestSingleStoryboardItemDataSource return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { void (^configureBlock)(id, __kindof UICollectionViewCell *) = ^(IGTestObject *item, IGTestStoryboardCell *cell) { cell.label.text = [item.value description]; diff --git a/Tests/Objects/IGTestStackedDataSource.m b/Tests/Objects/IGTestStackedDataSource.m index 4d7987b4d..ce4bff308 100644 --- a/Tests/Objects/IGTestStackedDataSource.m +++ b/Tests/Objects/IGTestStackedDataSource.m @@ -21,7 +21,7 @@ - (NSArray *)objectsForListAdapter:(IGListAdapter *)listAdapter { return self.objects; } -- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { +- (IGListSectionController *)listAdapter:(IGListAdapter *)listAdapter sectionControllerForObject:(id)object { NSMutableArray *controllers = [[NSMutableArray alloc] init]; for (id value in [(IGTestObject *)object value]) { id controller; diff --git a/Tests/Objects/IGTestStoryboardSupplementarySource.h b/Tests/Objects/IGTestStoryboardSupplementarySource.h index d860c7db0..b20b773b5 100644 --- a/Tests/Objects/IGTestStoryboardSupplementarySource.h +++ b/Tests/Objects/IGTestStoryboardSupplementarySource.h @@ -17,6 +17,6 @@ @property (nonatomic, weak) id collectionContext; -@property (nonatomic, weak) IGListSectionController *sectionController; +@property (nonatomic, weak) IGListSectionController *sectionController; @end diff --git a/Tests/Objects/IGTestSupplementarySource.h b/Tests/Objects/IGTestSupplementarySource.h index 87cf1c79e..1cc6567a8 100644 --- a/Tests/Objects/IGTestSupplementarySource.h +++ b/Tests/Objects/IGTestSupplementarySource.h @@ -21,6 +21,6 @@ @property (nonatomic, weak) id collectionContext; -@property (nonatomic, weak) IGListSectionController *sectionController; +@property (nonatomic, weak) IGListSectionController *sectionController; @end