Summary:
Using more suitable type cast.
Using guard statement.
- [x] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/98
Differential Revision: D4056145
Pulled By: rnystrom
fbshipit-source-id: 537fccc781747f835155bfe8ccac45a1e8cdb037
Summary:
Temporary fix for the doc generation bug. Works now by simply running `$ ./build_docs.sh`.
cc jessesquires that this fix is good for now
Fixes#55
Jazzy bug at realm/jazzy#667
Closes https://github.com/Instagram/IGListKit/pull/93
Differential Revision: D4051337
Pulled By: jessesquires
fbshipit-source-id: 2ad1c45df55ca61ef9a243d0ad33af20b8349f96
Summary:
Adding a working range example to the example app. This example:
- Displays a list of images downloaded from unsplash.it
- Create 20 uniquely-random sized objects
- When section controllers enter the range, create a data task to download the image
- When finished, store image in `downloadedImage`
- Set in cell if cell is visible
- Don't create task if already downloaded or task created
- Cancel task when section controller is destroyed
- Show a spinner cell while downloading the image
Fixes#84
- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/89
Differential Revision: D4050210
Pulled By: rnystrom
fbshipit-source-id: 628a777fa819dccd9d9f4f58646cdf72fb4bc65c
Summary:
The scroll delegate got lost in migrating scroll events to their own delegates and broke the sample app. It looks like there's an actual UIKit bug in iOS 10 though. Fixes#87
- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/88
Differential Revision: D4050213
Pulled By: rnystrom
fbshipit-source-id: 61b29489f28002ad61193df237889b0bb8d34a29
Summary:
Docs were out of sync. Working range used to be an attempt to use a range outside the visible bounds, but that's not the case anymore. Instead it is just a number of section controllers beyond the visible range (much simpler). Updated the docs and graphic to reflect this.
Fixes#84
Reviewed By: dshahidehpour
Differential Revision: D4043045
fbshipit-source-id: bc4ae7a5a822626ffda30ff5ac7a3782a3816027
Summary:
We're still having travis issues. In other projects, I have issues with iOS 8 timeouts, but nothing else that we've seen here (`pod lint` problems, iOS 9 and 10 timeouts).
Theory: the *simulator* is the problem?
Using `iPhone 6/s` seems to be passing consistently. (like [here](https://travis-ci.org/Instagram/IGListKit/builds/167933436)). So let's try always using this sim.
Closes https://github.com/Instagram/IGListKit/pull/72
Differential Revision: D4044243
Pulled By: jessesquires
fbshipit-source-id: 74921a97a056b713f1872b455609ef6df27a0690
Summary:
Using array initialisation instead of for loop.
- [X] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [X] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/81
Differential Revision: D4030872
Pulled By: jessesquires
fbshipit-source-id: f61114d60bacfcb7a3722a6727aa0060a68ae35d
Summary:
Changes 'if let _ = object as?' for 'if object is'
- [x] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/83
Differential Revision: D4034281
Pulled By: jessesquires
fbshipit-source-id: f63e853b080ee63595ae5a808f4a2177c4615798
Summary:
Makes objects function more swifty.
- [x ] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [ x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/74
Reviewed By: dshahidehpour
Differential Revision: D4030906
Pulled By: jessesquires
fbshipit-source-id: 9a986fd4b470da0a33fadfd71f41f86b324df5be
Summary:
Using switch with is cases instead of if with multiple as?.
- [x] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/82
Reviewed By: dshahidehpour
Differential Revision: D4030890
Pulled By: jessesquires
fbshipit-source-id: fc17795620509572ed1d9fa6ef405357acab9a9b
Summary:
IGTestNibCell.xib was in the wrong bundle after imported internally (moved it to `Assets` dir)
- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/78
Reviewed By: ryanolsonk
Differential Revision: D4028444
Pulled By: rnystrom
fbshipit-source-id: cb7ed0f8024ca9fd116827f3935f075c1d9193be
Summary:
Fixes compilation errors in example app.
- [x] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/71
Differential Revision: D4027054
Pulled By: rnystrom
fbshipit-source-id: 50020d309e8cf69dabaa1958d9f1eed37dc6ee63
Summary:
I started working on adding support for dequeuing cells created from nibs (issue #1). Additionally I extended `IGListSingleSectionController` so that it can be used with nibs too. I don't know if you had this also in mind.
- [x] I'm currently thinking about the best way to test these changes.
- [x] I was not able to update the documentation (issue #55).
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/56
Reviewed By: dshahidehpour
Differential Revision: D4023746
Pulled By: rnystrom
fbshipit-source-id: 6a8b4cfb4dba38ea6e9870a9a4506288ee155cfe
Summary:
Simplifies block ridding of one if-else branch met only once.
Solves issue #68.
- [*] All tests pass. Demo project builds and runs.
- [ ] I added tests, an experiment, or detailed why my change isn't tested.
- [*] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/69
Reviewed By: jessesquires
Differential Revision: D4021608
Pulled By: rnystrom
fbshipit-source-id: 21cfca8578398c819a68aa3a118d27d58bb580b3
Summary:
Only README.md was changed. Fixed the typo in example code for connecting data source (replace opening parenthesis with whitespace).
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/64
Reviewed By: jessesquires
Differential Revision: D4012595
Pulled By: rnystrom
fbshipit-source-id: f27774e20c7a2ec3154cacbf919fd295625bace4
Summary:
- Travis appears to be using CocoaPods 1.1.0.beta.2, which is missing some fixes for Xcode 8 (see [sample failing build](https://travis-ci.org/Instagram/IGListKit/jobs/166935850) from #51).
- This change will ensure that a consistent CocoaPods version is used by Travis
- In the added Gemfile, I picked the latest CocoaPods 1.1.0 RC (matches version in Podfile.lock) and the latest xcpretty.
- Changed `pod spec lint` to `pod lib lint` to verify local files instead of files from the version specified in the spec.
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/57
Differential Revision: D4019655
Pulled By: rnystrom
fbshipit-source-id: 422e55c44dfdf276b587ea6e12ae30218a237ff5
Summary: Product needs show that section controllers need some sort of awarenes when they are the first/last section in a list (e.g. for cell borders). Adding this simple API, non-breaking.
Reviewed By: jessesquires
Differential Revision: D4016023
fbshipit-source-id: c75f9298fc73875a1cabad191fe2db6cb9ee4376
Summary:
Fixed#63. I used the style we use in CocoaPods, but I'm happy to adjust!
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/67
Reviewed By: jessesquires
Differential Revision: D4015999
Pulled By: rnystrom
fbshipit-source-id: bbe8055f22e84c5bdc628b4c1d95dab111774e12
Summary:
- I ran the static analyzer, and it found a case in `performUpdatesAnimated:completion:` where it looks like we meant to bail out early if the `collectionView` or `dataSource` is nil, but it only does so if `completion` is provided.
- Fixed a spelling error in nearby documentation
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
- There is one other analyzer warning, but it seems to be making an incorrect assumption. In any case, it's not something I can fix quickly (requires more time spent staring at IGListDiff.mm).
- A ticket should be opened to add static analysis to .travis.yml. I'lll do this soonish, unless someone beats me to it!
- I could add a test for this, but this project is annotated well enough with null
Closes https://github.com/Instagram/IGListKit/pull/51
Reviewed By: ocrickard
Differential Revision: D4008605
Pulled By: rnystrom
fbshipit-source-id: c2b7516cb8c1fc619aa63d1e9b0c26f2918cd8a1
Summary:
I was exploring the example project when I noticed that two Twitter handles were wrong.
This will probably be the most useless PR ever in `IGListKit`, but it's good that you guys get the correct acknowledgment for your hard work! 🤓
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/54
Reviewed By: ryanolsonk
Differential Revision: D4008615
Pulled By: rnystrom
fbshipit-source-id: 904892d40fed73045e724cc87dddf641af02e27d
Summary:
Updated README example for naming consistency
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/58
Reviewed By: ryanolsonk, ocrickard
Differential Revision: D4008590
Pulled By: rnystrom
fbshipit-source-id: 74412ca77054cd6a15c0783b95f5d7a87eaf4c96
Summary:
Replaced the two methods for generating a reusable identifier with an inline C function (as per #40) which has 3 parameters: `viewClass` (unchanged), `nibName` (for when #1 is added), and `kind`. The string is generated following the same pattern as before.
A few things:
- The current test only tests one of the options. May want to add more tests for each.
- Not sure if you guys prefer `NS_INLINE` vs `static inline`.
- Not sure if we want to add assertions for empty strings for nibName/kind parameters.
- [x] All tests pass. Demo project builds and runs.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/49
Differential Revision: D4005549
Pulled By: jessesquires
fbshipit-source-id: e1683ebe8882d1a8de934c8166f67d3508cffba9
Summary: Pod files were skipped after API renames.
Reviewed By: jessesquires
Differential Revision: D4003106
fbshipit-source-id: d3b5336a8e98880549d4414d679cbeff94169a01
Summary:
Just a little improvement to a code example.
- [x] All tests pass. Demo project builds and runs.
- [x] I added tests, an experiment, or detailed why my change isn't tested.
- [x] I have reviewed the [contributing guide](https://github.com/Instagram/IGListKit/blob/master/CONTRIBUTING.md)
Closes https://github.com/Instagram/IGListKit/pull/45
Reviewed By: jessesquires
Differential Revision: D4002830
Pulled By: rnystrom
fbshipit-source-id: b6fb8f87752f0886333c4445107caac8219027e9