【发布时间】:2017-08-31 09:16:38
【问题描述】:
在 iOS 应用程序和 Today Extension 之间进行数据共享时,我遇到了一个问题,即当我更改 UserDefaults 时,主应用程序或扩展程序都不会发送 NSUserDefaultsDidChangeNotification。问题是我可以为我创建的 App Group 成功读取和写入数据到 UserDefaults。所以数据实际上是由应用程序和扩展程序共享的。但是永远不会触发(或检测到) UserDefaults 更改的通知。谁能告诉我可能是什么问题?
UserDefaults 中数据的写入
NSUserDefaults defaults = new NSUserDefaults("group.com.name1.name2",NSUserDefaultsType.SuiteName);
defaults.SetString("UPDATE " + DateTime.Now.Minute, "data");
defaults.Synchronize();
通知处理程序
NSNotificationCenter.DefaultCenter.AddObserver(
NSValueTransformer.UserDefaultsDidChangeNotification, (notification) => {
NSUserDefaults defaults = new NSUserDefaults("group.com.name1.name2",NSUserDefaultsType.SuiteName);
string str = defaults.StringForKey("data");
});
【问题讨论】:
-
@Nilesh 我已经尝试了 CFNotificationCenter,但结果相同。通知仍然不会触发
标签: ios xamarin xamarin.ios nsuserdefaults today-extension