ra1028 / DifferenceKit

💻 A fast and flexible O(n) difference algorithm framework for Swift collection.
https://ra1028.github.io/DifferenceKit
Apache License 2.0
3.56k stars 241 forks source link

UITableView extension: Completion block for changesets #143

Open mikolasstuchlik opened 2 years ago

mikolasstuchlik commented 2 years ago

Checklist

Description

This Pull Request introduces previously discussed (and rejected) proposal for addition of completion handlers. The PR does so for UITableView only. The API introduced by this PR is not simple "passing of a closure to the UIKit API." Instead, the API is designed to provide better information about how the changes were handled.

Related Issue

https://github.com/ra1028/DifferenceKit/pull/120 https://github.com/ra1028/DifferenceKit/issues/7

Motivation and Context

I have read the rationale behind rejection. I do think, that this change would simplify the usage of DifferenceKit. If this PR is not accepted, I would strongly suggest to put the "workaround" from #7 directly into the Xcode markup documentation for related methods.

Impact on Existing Code

API changes additive, ambiguity should not be an issue due to overloading instead of optional parameters.