Skip to content

lxcid/ListDiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ListDiff

ListDiff is an Swift port of IGListKit's IGListDiff. It is an implementation of an algorithm by Paul Heckel.

Motivation

The motivation for this project came from the following challenge which I learnt about from Ryan Nystrom's talk in iOSConf.SG.

Getting Started

swift package generate-xcodeproj

Rationale

During the port, I made several decisions which I would like to rationalize here.

  • Using caseless enum as namespace. See Erica Sadun's post here.
  • No support for index paths. Decided that this is out of the scope.
  • Stack vs Heap. AFAIK, Swift does not advocates thinking about stack vs heap allocation model, leaving the optimization decisions to compiler instead. Nevertheless, some of the guideline do favour struct more, so only List.Entry is a (final) class as we need reference to its instances.

issues

  • TODO: Equality check.

About

Swift port of IGListKit's IGListDiff

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 5