Mobiconf 2018: Bj Kandel, Zalando
summary
Shows how to use model equality to compute diff sets for lists and apply those diffs to UITableView and UICollectionView to update UI efficiently and with animations. Explains a naive diff algorithm and extends it with protocols to support nested equality/diffing for models with comparable children (sections/rows), and presents a generic list controller that renders these nested diffStates. Also describes functional-programming–inspired design for keeping non-UI code pure and side-effect free while driving UI from ModelDiff state.
AI-written summary · about
chapters (24)
- 0:00Intro
- 2:10Use case
- 2:40orgmode
- 3:10tab
- 3:30Example
- 4:25ChangeSet
- 5:20Concept
- 6:30Model
- 6:50Diff
- 7:40Change
- 10:25Has value
- 11:00Diff support
- 12:15Order DIF
- 12:30Order operation
- 13:30Table view controller errors
- 15:00Merging
- 16:45ModText Editor
- 17:45List Controller
- 18:15Table View
- 20:40Table View Controller
- 21:15Cell List Controller
- 22:15Custom Views
- 22:45Virtual Views
- 25:25Join us
related talks
21mOptimizing Swift code for separation of concerns and simplicity
19mThe Art of Functional State Management for iOS Apps
38mCreating adaptable layouts using Trait Collections and Container Views
18mBuckets of Code
40mRethinking UI: Imperative to Declarative
22mMVVM at Scale: Not so Simple
25mTools for making improved models with Qt
42mThe Evolution of Presentation Patterns in SwiftUI
