UserDefaults
无法在我的应用中使用。请在AppDelegate
文件下找到以下代码。
let sharingData = UserDefaults.init(suiteName: "group.macuser79.xxx");
sharingData?.set("vincenzo", forKey:"username");
sharingData?.synchronize();
在Watch的应用程序的InterfaceController中,为了能够检索值,所以我这样做了:
override func awake(withContext context: Any?) {
let sharingData = UserDefaults.init(suiteName: "group.macuser79.xxx");
let username = sharingData?.object(forKey: "username");
print("Value username \(username)");
}
请告诉我,我做错了什么!
答案 0 :(得分:0)
Swift3
UserDefaults
更明智地获得了储值。在下面的行中,您将存储String
值而不指定它!:
sharingData?.set("vincenzo", forKey:"username");
所以,为了得到这个,你需要写如下:
let username = sharingData?.string(forKey: "username");
print("Value username \(username)");
}
根据您的商店获取值,这是更好的上下文。
答案 1 :(得分:0)
请改为尝试:
let defaults = UserDefaults.standard
defaults.set("group.macuser79.xxx", forKey:"username")
defaults.synchronize()
访问商店:
let defaults = UserDefaults.standard
let username = defaults.string(forKey: "username")
我承认我以前没有试过init()
我自己的UserDefaults
实例,但是它的标准实例(由iOS制作成单例)是一种很好的做法
另外,请勿忘记正确打开选购件。
答案 2 :(得分:0)
设置:
UserDefaults(suiteName: "group.macuser79.xxx")?.set("vincenzo", forKey: "username")
访问:
UserDefaults(suiteName: "group.macuser79.xxx")!.string(forKey: "username")