我在我的Swift 4项目中有以下代码。
class DishesTableViewController : UITableViewController {
private var token :NSKeyValueObservation?
@objc dynamic private(set) var dishes :[Dish] = []
override func viewDidLoad() {
super.viewDidLoad()
// configure the observation
token = self.observe(\.dishes) { object, change in
// change is always nil
print(object)
print(change)
}
updateTableView()
}
每当菜肴数组被更改时,观察者就会被触发。但我的问题是如何获得实际发生的更改,也就是如何访问触发更改的实际菜肴对象?
changeHandler
并没有被调用,因为我没有包括options
参数。我建议始终包括它。 - Nick Gaens