【发布时间】:2020-05-14 11:35:41
【问题描述】:
我正在尝试从一个用 Kotlin/Native 编写的多平台项目的 ios 本机部分实现一个观察者,以更改 UserDefaults 中的给定键的值。这是我写的代码:
fun subscribeForDataChange(storeName: String, callback: () -> Unit) {
NSUserDefaults(storeName).addObserver(
object : NSObject() {
fun observeValue(
observer: NSObject,
forKeyPath: String,
options: NSKeyValueObservingOptions,
context: COpaquePointer?
) {
callback()
print("Data Changed!!!")
}
},
options = NSKeyValueObservingOptionNew,
forKeyPath = DATA_KEY,
context = null
)
}
问题是我从来没有收到通知,很可能是因为observeValue 没有在 NSObject 中定义,但我还应该做些什么来实现呢?
【问题讨论】:
标签: ios kotlin kotlin-multiplatform kotlin-native