在我将forkeyPath参数替换为字符串结构而不是硬输入之前,我的用户默认观察器一直工作得很好。
它以前是如何工作的:
UserDefaults.standard.addObserver(self, forKeyPath: "packagename.fontSize", options: .new, context: nil)
现在情况如何(不再工作)
UserDefaults.standard.addObserver(self, forKeyPath: UserSavedSettings.FontSize, options: .new, context: nil)
参数改变后,功能:
observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?)
不再呼叫…
这是我的usersavedsettings.fontsize声明
struct UserSavedSettings {
static let FontSize = "packagename.fontSize"
static let FontType = "packagename.fontType"
static let Theme = "packagename.theme"
}
我能怎么解决这个问题吗?提前谢谢!