我现在开车疯了,因为我找不到我的错误。
我试图将一些信息传递给我的WatchKit应用程序,但这对我不起作用。
两个人在同一组
然后我从手表开始
NSUserDefaults(suiteName: "group.WatchDate")
NSUserDefaults.standardUserDefaults().setObject("1", forKey: "TEST")
NSUserDefaults.standardUserDefaults().synchronize()
在启动应用程序之后,我切换到“phone app”并让它打印存储的值
NSUserDefaults(suiteName: "group.WatchDate")
println("Saved Informations:")
println(NSUserDefaults.standardUserDefaults().objectForKey("TEST"))
输出总是“零”
我试着用另一种方式传递同样的信息,也没有成功。
但如果我简单地将存储的值打印到同一个“设备”上,它就会工作。
知道我做错了什么吗?
最佳答案
zisoft有正确的观点,但我相信,我的代码是更安全、更清晰(更可读)的方法。我还考虑到,不使用反向DNS样式命名应用程序组不被认为是最佳实践。
设置数据:
import Foundation
if let sharedDefaults = NSUserDefaults(suiteName: "group.com.mycompany.WatchDate") {
sharedDefaults.setObject("1", forKey: "TEST")
sharedDefaults.synchronize()
}
读取数据:
import Foundation
if let sharedDefaults = NSUserDefaults(suiteName: "group.com.mycompany.WatchDate") {
if let sharedString = sharedDefaults.objectForKey("TEST") as? String {
println(sharedString)
}
}
关于iphone - NSUser默认为AppleWatch,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29470689/