Я пытаюсь внедрить наблюдателя в изменения UserDefaults для данного ключа в iOS части многоплатформенной библиотеки, написанной с помощью Kotlin / Native. Свифт сигнатуры функции, которую мне нужно реализовать:
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
Но, похоже, на Kotlin / Native нет отображения для UnsafeMutableRawPointer
.
Как мне добиться который? Код быстрого кода, который я хотел бы перенести на Kotlin, выглядит следующим образом:
let globalDataStore = UserDefaults(suiteName: "global")
func setObserver() {
globalDataStore?.addObserver(self, forKeyPath: "StringKey", options: NSKeyValueObservingOptions.new, context: nil)
}
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
print("observeValue: \(change?[NSKeyValueChangeKey.newKey] ?? "NO VLAUE")");
}