Hầu hết thời gian, nếu bạn có quyền kiểm soát biến số ủng hộ, bạn muốn sử dụng Variable
để sử dụng rx_observe
.
class ViewController: UIViewController {
var myArray : Variable<NSArray>!
}
Lần đầu tiên bạn sẽ sử dụng myArray, bạn sẽ asign nó như vậy
myArray = Variable(["a"])
Sau đó, nếu bạn muốn thay đổi giá trị của nó
myArray.value = ["b"]
Và bạn có thể dễ dàng quan sát thay đổi của nó, sử dụng
myArray.asObservable().subscribeNext { value in
// ...
}
Nếu bạn thực sự muốn sử dụng rx_observe
(có thể do biến được sử dụng ở nơi khác trong chương trình của bạn và bạn không muốn thay đổi API của bộ điều khiển chế độ xem), bạn cần khai báo myArray
là dynamic
(yêu cầu khác là rằng lớp lưu trữ là con của NSObject
, tại đây UIViewController
đáp ứng yêu cầu này). KVO không được thực thi theo mặc định nhanh chóng và sử dụng động đảm bảo truy cập được thực hiện bằng cách sử dụng thời gian chạy mục tiêu-c, nơi các sự kiện KVO được xử lý.
class ViewController: UIViewController {
dynamic var myArray: NSArray!
}
Tài liệu này có thể được tìm thấy here