如何观察NSUserDefault initWithSuiteName的键值,以便您可以从iOS应用程序向WatchKit发送和接收数据
我正在尝试各种解决方案,从iOS应用程序向WatchKit应用程序发送/接收数据 尝试了虫洞不起作用,所以尝试以下方法 在ViewDidLoad中:如何观察NSUserDefault initWithSuiteName的键值,以便您可以从iOS应用程序向WatchKit发送和接收数据,ios,objective-c,xcode,swift,nsuserdefaults,Ios,Objective C,Xcode,Swift,Nsuserdefaults,我正在尝试各种解决方案,从iOS应用程序向WatchKit应用程序发送/接收数据 尝试了虫洞不起作用,所以尝试以下方法 在ViewDidLoad中: mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName: kGROUP_SUITE_NAME]; [mySharedDefaults addObserver:self forKeyPath:@"timeLeft" options:(NSKeyValueObservingOption
mySharedDefaults = [[NSUserDefaults alloc] initWithSuiteName: kGROUP_SUITE_NAME];
[mySharedDefaults addObserver:self forKeyPath:@"timeLeft" options:(NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld) context:NULL];
以及:
我在应用程序中称之为:
NSString *timeLeft = @"00:00";
[mySharedDefaults setObject:timeLeft forKey:@"timeLeft"];
我找到了Swift的代码,Objective-C的等价物是什么
//写
let sharedDefaults = NSUserDefaults(suiteName: appGroupName)
sharedDefaults?.setInteger(1, forKey: "myIntKey")
//阅读
let sharedDefaults = NSUserDefaults(suiteName: appGroupName)
let myIntValue = sharedDefaults?.integerForKey("myIntKey")
我真的想在写操作发生时只读(即:观察值的变化)
我已经添加了应用程序组(在iOS应用程序中),并确保目标(WatchKit应用程序)中存在应用程序组。您无法可靠地KVO共享用户默认值。改用。MMWormhole使用Darwin通知中心提醒扩展和主应用之间的更改 对不起,我在帖子中说我已经试过了“虫洞”,但没有成功。@MikeZriel我很乐意帮忙。CFNotificationCenter可能是唯一的方法。
let sharedDefaults = NSUserDefaults(suiteName: appGroupName)
let myIntValue = sharedDefaults?.integerForKey("myIntKey")