IGListKit uses an algorithm adapted from a paper titled A technique for isolating differences between files by Paul Heckel. This algorithm uses a technique known as the longest common subsequence to find a minimal diff between collections in linear time O(n). It finds all inserts, deletes, updates, and moves between arrays of data. A working range is a range of section controllers who aren’t yet visible, but are near the screen. Section controllers are notified of their entrance and exit to this range. This concept lets your section controllers prepare content before they come on screen (e.g. download images). With the IGListDiffable plugin for remodel by facebook, you can automatically generate models conforming to the IGListDiffable. Remember that IGListKit functions on one model per section controller. You want to create a Post model that contains all of the information that the cells require.

Features

  • Better architecture with reusable cells and components
  • Create collections with multiple data types
  • Decoupled diffing algorithm
  • Fully unit tested
  • Customize your diffing behavior for your models
  • Simply UICollectionView at its core
  • Extendable API
  • Written in Objective-C with full Swift interop support

Project Samples

Project Activity

See All Activity >

License

MIT License

Follow IGListKit

IGListKit Web Site

Other Useful Business Software
Auth0 B2B Essentials: SSO, MFA, and RBAC Built In Icon
Auth0 B2B Essentials: SSO, MFA, and RBAC Built In

Unlimited organizations, 3 enterprise SSO connections, role-based access control, and pro MFA included. Dev and prod tenants out of the box.

Auth0's B2B Essentials plan gives you everything you need to ship secure multi-tenant apps. Unlimited orgs, enterprise SSO, RBAC, audit log streaming, and higher auth and API limits included. Add on M2M tokens, enterprise MFA, or additional SSO connections as you scale.
Sign Up Free
Rate This Project
Login To Rate This Project

User Reviews

Be the first to post a review of IGListKit!

Additional Project Details

Operating Systems

Apple iPhone, Mac

Programming Language

Objective C

Related Categories

Objective C Build Tools, Objective C Frameworks

Registered

2021-05-17