使用NSUserDefaults,容器应用程序和扩展应用程序之间出现问题它在模拟器上运行良好,但在设备上不工作(崩溃)。我在用swift写作。
在我的容器应用中
override func viewDidLoad() {
var defaults = NSUserDefaults(suiteName: "group.myapp")
defaults.setValue(label1.text, forKey: "Textview")
defaults .synchronize()
}
在我的扩展应用中
override func viewDidLoad() {
var defaults = NSUserDefaults(suiteName: "group.myapp")
var string : String = defaults.valueForKey("Textview") as String //Crashed on device
label2.text = "(string)" //get nil
}
我在设备上运行但在模拟器上工作后崩溃了,请帮帮我!感谢
1>清理项目并在运行后进行清理
2>
override func viewDidLoad() {
let defaults = NSUserDefaults(suiteName: "group.myapp")
defaults.setObject(label1.text,forKey: "GameData")
defaults.synchronize()
}
获取数据:
if let defaults = NSUserDefaults.standardUserDefaults() {
if let str : AnyObject = defaults.objectForKey("GameData") {
println(str)
}
}
3>
var myValue:NSString = label1.text
NSUserDefaults.standardUserDefaults().setObject(myValue, forKey:"Username")
NSUserDefaults.standardUserDefaults().synchronize()
获取数据:
var myOutput: AnyObject? = NSUserDefaults.standardUserDefaults().objectForKey("Username")
println(myOutput)
我认为这对你有帮助。