The general approach would be to run a diff between your old and new arrays. 
Something like https://github.com/jflinter/Dwifft could help, though I haven't 
used it personally.

Another approach is to build a wrapper around your source array with limited 
modification methods and a KVO-like notification system. The notifications can 
map cleanly to UITableView updates, and there's no extra diffing calculations 
involved. Of course, this method won't work if your source array needs to be 
modified by code you don't control.

> On Mar 6, 2017, at 18:56, Edward Connell via swift-users 
> <swift-users@swift.org> wrote:
> 
> I would like to have an Array implementation where I get more information 
> than just "the whole thing changed". 
> As a value type I get it, but lets say it's a list of 500 image info structs 
> and it's bound to UI. You change one item, now the whole array changes and 
> you have to rebuild the entire visual tree right? Rebuilding the state of 
> dependent objects can be really expensive, not just UI things.
> 
> Is there some efficient strategy that the library designers intended for this 
> situation? 
> It seems like a really common and obvious scenario.
> Insights and suggestions are appreciated.
> 
> Thanks, Ed
> 
> 
> _______________________________________________
> swift-users mailing list
> swift-users@swift.org
> https://lists.swift.org/mailman/listinfo/swift-users

_______________________________________________
swift-users mailing list
swift-users@swift.org
https://lists.swift.org/mailman/listinfo/swift-users

Reply via email to