Using Diffable Data Source iOS 13 API in UITableView
You can also read this article in my Xcoding With Alfian
blog website using the link below.
Since the beginning of iOS SDK, UITableViewDataSource
is the protocol that had the responsibility to drive the data and provide the cells in TableView
. As good developers, we need to implement the protocol methods and making sure to sync our backing model with the data source properly to avoid any crashes because of inconsistencies between them.
optional func numberOfSections(in tableView: UITableView) -> Int
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
Also, when we need to perform granular updates for sections and rows in our TableView
, we need to use the API like the sample code below.
tableView.beginUpdates()
// Delete section 3 and 4
tableView.reloadSections([3,4], with: .automatic)
// Insert at section 1 and row 0
tableView.insertRows(at: [IndexPath(row: 0, section: 1)], with: .automatic)…