相关疑难解决方法(0)

为什么我的应用程序不会在XCode 8 beta(8S128d)中运行

这是一个会影响许多应用的问题,可以在Xcode 8 beta(8S128d)中找到.这是第一个测试版,虽然它没有标记为beta 1.

问题出在NSUserDefaults; 它不起作用.这是代码,可能会把它放进去application:didFinishLaunchingWithOptions:.

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setValue:@"hello world" forKey:@"TEST"];

[defaults synchronize];

NSString * oops = [[NSUserDefaults standardUserDefaults] valueForKey:@"TEST"];
NSLog(@"default = %@", oops);
Run Code Online (Sandbox Code Playgroud)

在XCode 7和更早版本中,此代码按预期工作:值为oops"hello world".

XCode中8,的值oopsnil.

那是非常重要的!

xcode ios10 xcode8

3
推荐指数
1
解决办法
2210
查看次数

Xcode 9 模拟器不保存用户默认值

也许这和这个问题是同一个问题。但我尝试过的解决方案很少有不起作用的。

模拟器不会在 Xcode 版本 9.0 beta 6 (9M214v) 上保存用户默认值。我也有 Xcode 8(连同 9),但将其删除。

我正在使用的代码:

UserDefaults.standard.setValue("1234567", forKey: "phone")
if let phone = UserDefaults.standard.value(forKey: "phone") as? String{
  //some code here
}
Run Code Online (Sandbox Code Playgroud)

另外我也尝试过:

UserDefaults.standard.set("1234567", forKey: "phone")
if let phone = UserDefaults.standard.object(forKey: "phone") as? String{
  //some code here
} 
Run Code Online (Sandbox Code Playgroud)

xcode ios ios11 xcode9

3
推荐指数
1
解决办法
2742
查看次数

标签 统计

xcode ×2

ios ×1

ios10 ×1

ios11 ×1

xcode8 ×1

xcode9 ×1