首页 > 解决方案 > 检测设置中更改了哪个设置

问题描述

从“设置”订阅更新时:

NSNotificationCenter.DefaultCenter.AddObserver(
    NSValueTransformer.UserDefaultsDidChangeNotification, Callback);

有什么方法可以检测到哪个设置发生了变化?或者有没有办法只订阅一个特定设置的更改?

标签: iosxamarin.ios

解决方案


Is there any way to detect which setting it is that changed?

检查Apple的文件后,它说

此通知发布在更改用户默认值的线程上。通知对象是 NSUserDefaults 对象。通知不包含userInfo 字典。

该通知没有为您提供 userInfo 字典,因此我认为您无法知道通过此通知更改了哪个特定设置。

 is there a way to subscribe to a change to only one specific setting?

你可以看看这个线程中的解决方案,我还没有尝试过,但它可能会给你一些想法。我认为比较收到通知之前和之后的设置就可以了。


推荐阅读