Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何观察NSUserDefault initWithSuiteName的键值,以便您可以从iOS应用程序向WatchKit发送和接收数据_Ios_Objective C_Xcode_Swift_Nsuserdefaults - Fatal编程技术网

如何观察NSUserDefault initWithSuiteName的键值,以便您可以从iOS应用程序向WatchKit发送和接收数据

如何观察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

我正在尝试各种解决方案,从iOS应用程序向WatchKit应用程序发送/接收数据

尝试了虫洞不起作用,所以尝试以下方法

在ViewDidLoad中:

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")