mirror of
https://github.com/Instagram/IGListKit
synced 2026-05-24 01:38:26 +00:00
Update Best Practices and FAQ.md
Summary: rnystrom Per recent internal discussions 😄 Closes https://github.com/Instagram/IGListKit/pull/536 Reviewed By: rnystrom Differential Revision: D4697189 Pulled By: jessesquires fbshipit-source-id: c3e465f6900c6c479057a47bd0ddfcae1ae1544f
This commit is contained in:
parent
7725d3b8b5
commit
a381004630
1 changed files with 11 additions and 7 deletions
|
|
@ -31,19 +31,19 @@ func didUpdate(to object: Any) {
|
|||
|
||||
## Frequently asked questions
|
||||
|
||||
**How do you implement separators between cells?**
|
||||
#### How do you implement separators between cells?
|
||||
|
||||
See discussion in [#329](https://github.com/Instagram/IGListKit/issues/329)
|
||||
|
||||
**How do I fix the error `Could not build Objective-C module 'IGListKit'`?**
|
||||
#### How do I fix the error `Could not build Objective-C module 'IGListKit'`?
|
||||
|
||||
See discussion in [#316](https://github.com/Instagram/IGListKit/issues/316)
|
||||
|
||||
**The documentation and examples have `<X>` feature or changes, but I don't have it in my version. Why?**
|
||||
#### The documentation and examples have `<X>` feature or changes, but I don't have it in my version. Why?
|
||||
|
||||
This feature is on the `master` branch only and hasn't been officially tagged and [released](https://github.com/Instagram/IGListKit/releases). If you need to, you can [install from the `master` branch](https://instagram.github.io/IGListKit/installation.html).
|
||||
|
||||
**Does `IGListKit` work with...?**
|
||||
#### Does `IGListKit` work with...?
|
||||
|
||||
- Core Data ([Working with Core Data](https://instagram.github.io/IGListKit/working-with-core-data.html) Guide)
|
||||
- AsyncDisplayKit ([AsyncDisplayKit/#2942](https://github.com/facebook/AsyncDisplayKit/pull/2942))
|
||||
|
|
@ -54,14 +54,18 @@ This feature is on the `master` branch only and hasn't been officially tagged an
|
|||
|
||||
Yes.
|
||||
|
||||
**Does `IGListKit` work with `UITableView`?**
|
||||
#### Does `IGListKit` work with `UITableView`?
|
||||
|
||||
No, but you can install the [diffing subspec via CocoaPods](https://instagram.github.io/IGListKit/installation.html).
|
||||
|
||||
**What's the purpose of `IGListCollectionView`?**
|
||||
#### What's the purpose of `IGListCollectionView`?
|
||||
|
||||
We use this subclass to gain compile-time safety to prevent disallowed methods from being called on `UICollectionView`, because `IGListKit` handles model and view updates. See discussion at [#409](https://github.com/Instagram/IGListKit/issues/409).
|
||||
|
||||
**How can I manage cell selection and deselection?**
|
||||
#### How can I manage cell selection and deselection?
|
||||
|
||||
See discussion at [#184](https://github.com/Instagram/IGListKit/issues/184).
|
||||
|
||||
#### I have a *huge* data set and [`-peformUpdatesAnimated: completion:`](https://instagram.github.io/IGListKit/Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)performUpdatesAnimated:completion:) is *super* slow. What do I do?
|
||||
|
||||
If you have multiple thousands of items and you cannot batch them in, you'll see performance issues with `-peformUpdatesAnimated: completion:`. The real bottle neck behind the scenes here is `UICollectionView` attempting to insert so many cells at once. Instead, call [`-reloadDataWithCompletion:`](https://instagram.github.io/IGListKit/Classes/IGListAdapter.html#/c:objc(cs)IGListAdapter(im)reloadDataWithCompletion:) when you first load data, which will be super fast. Behind the scenes, this method *does not* do any diffing and simply calls `-reloadData` on `UICollectionView`. For subsequent updates, you can then use `-peformUpdatesAnimated: completion:`.
|
||||
|
|
|
|||
Loading…
Reference in a new issue