2016-12-27 20:37:57 +00:00
<!DOCTYPE html>
< html lang = "en" >
< head >
< title > Installation Reference< / title >
< link rel = "stylesheet" type = "text/css" href = "css/jazzy.css" / >
< link rel = "stylesheet" type = "text/css" href = "css/highlight.css" / >
< meta charset = 'utf-8' >
< script src = "js/jquery.min.js" defer > < / script >
< script src = "js/jazzy.js" defer > < / script >
< / head >
< body >
< a title = "Installation Reference" > < / a >
< header >
< div class = "content-wrapper" >
2017-08-23 21:12:05 +00:00
< p > < a href = "index.html" > IGListKit Docs< / a > (98% documented)< / p >
2016-12-27 20:37:57 +00:00
< p class = "header-right" > < a href = "https://github.com/Instagram/IGListKit" > < img src = "img/gh.png" / > View on GitHub< / a > < / p >
< / div >
< / header >
< div class = "content-wrapper" >
< p id = "breadcrumbs" >
< a href = "index.html" > IGListKit Reference< / a >
< img id = "carat" src = "img/carat.png" / >
Installation Reference
< / p >
< / div >
< div class = "content-wrapper" >
< nav class = "sidebar" >
< ul class = "nav-groups" >
< li class = "nav-group-name" >
< a href = "Guides.html" > Guides< / a >
< ul class = "nav-group-tasks" >
2017-05-12 14:19:12 +00:00
< li class = "nav-group-task" >
< a href = "best-practices-and-faq.html" > Best Practices and FAQ< / a >
< / li >
2016-12-27 20:37:57 +00:00
< li class = "nav-group-task" >
< a href = "getting-started.html" > Getting Started< / a >
< / li >
< li class = "nav-group-task" >
< a href = "iglistdiffable-and-equality.html" > IGListDiffable and Equality< / a >
< / li >
< li class = "nav-group-task" >
< a href = "installation.html" > Installation< / a >
< / li >
< li class = "nav-group-task" >
< a href = "migration.html" > Migration< / a >
< / li >
2017-08-23 21:12:05 +00:00
< li class = "nav-group-task" >
< a href = "modeling-and-binding.html" > Modeling and Binding< / a >
< / li >
2017-05-12 14:19:12 +00:00
< li class = "nav-group-task" >
< a href = "vision.html" > VISION< / a >
< / li >
< li class = "nav-group-task" >
< a href = "working-with-core-data.html" > Working with Core Data< / a >
< / li >
< li class = "nav-group-task" >
< a href = "working-with-uicollectionview.html" > Working with UICollectionView< / a >
< / li >
2016-12-27 20:37:57 +00:00
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Classes.html" > Classes< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Classes/IGListAdapter.html" > IGListAdapter< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListAdapterUpdater.html" > IGListAdapterUpdater< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListBatchUpdateData.html" > IGListBatchUpdateData< / a >
< / li >
< li class = "nav-group-task" >
2017-05-12 14:19:12 +00:00
< a href = "Classes/IGListBindingSectionController.html" > IGListBindingSectionController< / a >
2016-12-27 20:37:57 +00:00
< / li >
< li class = "nav-group-task" >
2017-05-12 14:19:12 +00:00
< a href = "Classes/IGListCollectionViewLayout.html" > IGListCollectionViewLayout< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListGenericSectionController.html" > IGListGenericSectionController< / a >
2016-12-27 20:37:57 +00:00
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListIndexPathResult.html" > IGListIndexPathResult< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListIndexSetResult.html" > IGListIndexSetResult< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListMoveIndex.html" > IGListMoveIndex< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListMoveIndexPath.html" > IGListMoveIndexPath< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes.html#/c:objc(cs)IGListReloadDataUpdater" > IGListReloadDataUpdater< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListSectionController.html" > IGListSectionController< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListSingleSectionController.html" > IGListSingleSectionController< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Classes/IGListStackedSectionController.html" > IGListStackedSectionController< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Constants.html" > Constants< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Constants.html#/c:@IGListKitVersionNumber" > IGListKitVersionNumber< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Constants.html#/c:@IGListKitVersionString" > IGListKitVersionString< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Enums.html" > Enums< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Enums/IGListDiffOption.html" > IGListDiffOption< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Enums/IGListExperiment.html" > IGListExperiment< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Protocols.html" > Protocols< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Protocols/IGListAdapterDataSource.html" > IGListAdapterDataSource< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListAdapterDelegate.html" > IGListAdapterDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListAdapterUpdaterDelegate.html" > IGListAdapterUpdaterDelegate< / a >
< / li >
2017-05-12 14:19:12 +00:00
< li class = "nav-group-task" >
< a href = "Protocols/IGListBatchContext.html" > IGListBatchContext< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListBindable.html" > IGListBindable< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListBindingSectionControllerDataSource.html" > IGListBindingSectionControllerDataSource< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListBindingSectionControllerSelectionDelegate.html" > IGListBindingSectionControllerSelectionDelegate< / a >
< / li >
2016-12-27 20:37:57 +00:00
< li class = "nav-group-task" >
< a href = "Protocols/IGListCollectionContext.html" > IGListCollectionContext< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListDiffable.html" > IGListDiffable< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListDisplayDelegate.html" > IGListDisplayDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListScrollDelegate.html" > IGListScrollDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListSingleSectionControllerDelegate.html" > IGListSingleSectionControllerDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListSupplementaryViewSource.html" > IGListSupplementaryViewSource< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListUpdatingDelegate.html" > IGListUpdatingDelegate< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Protocols/IGListWorkingRangeDelegate.html" > IGListWorkingRangeDelegate< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Type Definitions.html" > Type Definitions< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListItemUpdateBlock" > IGListItemUpdateBlock< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListObjectTransitionBlock" > IGListObjectTransitionBlock< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListReloadUpdateBlock" > IGListReloadUpdateBlock< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellConfigureBlock" > IGListSingleSectionCellConfigureBlock< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListSingleSectionController.h@T@IGListSingleSectionCellSizeBlock" > IGListSingleSectionCellSizeBlock< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListAdapter.h@T@IGListUpdaterCompletion" > IGListUpdaterCompletion< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Type Definitions.html#/c:IGListUpdatingDelegate.h@T@IGListUpdatingCompletion" > IGListUpdatingCompletion< / a >
< / li >
< / ul >
< / li >
< li class = "nav-group-name" >
< a href = "Functions.html" > Functions< / a >
< ul class = "nav-group-tasks" >
< li class = "nav-group-task" >
< a href = "Functions.html#/c:@F@IGListDiff" > IGListDiff< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Functions.html#/c:@F@IGListDiffExperiment" > IGListDiffExperiment< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Functions.html#/c:@F@IGListDiffPaths" > IGListDiffPaths< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Functions.html#/c:@F@IGListDiffPathsExperiment" > IGListDiffPathsExperiment< / a >
< / li >
< li class = "nav-group-task" >
< a href = "Functions.html#/c:IGListExperiments.h@F@IGListExperimentEnabled" > IGListExperimentEnabled< / a >
< / li >
< / ul >
< / li >
< / ul >
< / nav >
< article class = "main-content" >
< section >
< section class = "section" >
2017-05-12 14:19:12 +00:00
< h1 id = 'installation' class = 'heading' > Installation< / h1 >
2016-12-27 20:37:57 +00:00
< p > This guide provides details on how to install < code > IGListKit< / code > .< / p >
2017-05-12 14:19:12 +00:00
< h2 id = 'cocoapods' class = 'heading' > CocoaPods< / h2 >
2016-12-27 20:37:57 +00:00
< p > The preferred method of installation for < code > IGListKit< / code > is using < a href = "https://cocoapods.org/" > CocoaPods< / a > .< / p >
< p > In order to use the latest release of the framework, add the following to your < code > Podfile< / code > :< / p >
2017-05-12 17:33:40 +00:00
< pre class = "highlight ruby" > < code > < span class = "n" > pod< / span > < span class = "s1" > 'IGListKit'< / span > < span class = "p" > ,< / span > < span class = "s1" > '~> 3.0'< / span >
2016-12-27 20:37:57 +00:00
< / code > < / pre >
2017-05-12 14:19:12 +00:00
< h3 id = 'using-code-master-code' class = 'heading' > Using < code > master< / code > < / h3 >
2016-12-27 20:37:57 +00:00
2017-05-12 14:19:12 +00:00
< p > Alternatively, you can use the latest version from the < a href = "https://github.com/Instagram/IGListKit/tree/master" > < code > master< / code > branch< / a > . This is what we use at Instagram, so you can be confident that < code > master< / code > is always stable and reliable.< / p >
2016-12-27 20:37:57 +00:00
< pre class = "highlight ruby" > < code > < span class = "n" > pod< / span > < span class = "s1" > 'IGListKit'< / span > < span class = "p" > ,< / span > < span class = "ss" > :git< / span > < span class = "o" > => < / span > < span class = "s1" > 'https://github.com/Instagram/IGListKit.git'< / span > < span class = "p" > ,< / span > < span class = "ss" > :branch< / span > < span class = "o" > => < / span > < span class = "s1" > 'master'< / span >
< / code > < / pre >
2017-05-12 14:19:12 +00:00
< blockquote >
< p > < strong > Note:< / strong > while < code > master< / code > is stable, it may have breaking changes. Before updating to < code > master< / code > , be sure to check the < a href = "https://github.com/Instagram/IGListKit/blob/master/CHANGELOG.md" > < code > CHANGELOG< / code > < / a > for details on changes.< / p >
< / blockquote >
< h3 id = 'subspecs' class = 'heading' > Subspecs< / h3 >
2016-12-27 20:37:57 +00:00
< p > With the exception of < code > macOS< / code > (which currently only supports the diffing algorithm components), using < code > pod ' IGListKit' < / code > will get you the full library, including the flexible < code > UICollectionView< / code > system. Learn more about how to get started in our < a href = "https://instagram.github.io/IGListKit/getting-started.html" > Getting Started guide< / a > .< / p >
< p > However, if you only want to use the diffing components of this library, then you can use the diffing subspec in your < code > Podfile< / code > :< / p >
2017-05-12 17:33:40 +00:00
< pre class = "highlight ruby" > < code > < span class = "n" > pod< / span > < span class = "s1" > 'IGListKit/Diffing'< / span > < span class = "p" > ,< / span > < span class = "s1" > '~> 3.0'< / span >
2016-12-27 20:37:57 +00:00
< / code > < / pre >
< p > Regardless of whether you only use the diffing components, or the entire library, the imports are the same:< / p >
< pre class = "highlight swift" > < code > < span class = "kd" > import< / span > < span class = "kt" > IGListKit< / span >
< / code > < / pre >
2017-05-12 14:19:12 +00:00
< h2 id = 'carthage' class = 'heading' > Carthage< / h2 >
2016-12-27 20:37:57 +00:00
< p > If using < a href = "https://github.com/Carthage/Carthage" > Carthage< / a > , add the following to your < code > Cartfile< / code > :< / p >
2017-05-12 17:33:40 +00:00
< pre class = "highlight plaintext" > < code > github "Instagram/IGListKit" ~> 3.0
2016-12-27 20:37:57 +00:00
< / code > < / pre >
< / section >
< / section >
< section id = "footer" >
2017-08-31 19:35:22 +00:00
< p > © 2017 < a class = "link" href = "https://twitter.com/fbOpenSource" target = "_blank" rel = "external" > Instagram< / a > . All rights reserved. (Last updated: 2017-08-31)< / p >
2017-08-23 21:12:05 +00:00
< p > Generated by < a class = "link" href = "https://github.com/realm/jazzy" target = "_blank" rel = "external" > jazzy ♪♫ v0.8.3< / a > , a < a class = "link" href = "http://realm.io" target = "_blank" rel = "external" > Realm< / a > project.< / p >
2016-12-27 20:37:57 +00:00
< / section >
< / article >
< / div >
< / body >
< / div >
< / html >