Tôi có đoạn mã sau trong dự án Swift 4 của tôi.Quan sát giá trị quan trọng trong 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()
}
Bất cứ khi nào mảng món ăn được thay đổi, quan sát được kích hoạt. Nhưng câu hỏi của tôi là làm thế nào tôi có thể nhận được sự thay đổi thực sự đã xảy ra. Có nghĩa là làm thế nào tôi có thể nhận được quyền truy cập vào đối tượng Dish thực tế đã kích hoạt thay đổi.
Trong trường hợp của tôi, 'changeHandler' thậm chí không được gọi hoàn toàn bởi vì tôi chưa bao gồm đối số' tùy chọn'. Tôi sẽ đề nghị bao gồm nó tất cả các thời gian. –