2014-07-09 53 views
6

在iOS8中,NSUserDefaults似乎不适用于我。当运行一个简单的代码崩溃与指向线这个错误与setDouble呼叫:NSUserDefaults standardUserDefaults无法在iOS8中工作

线程1:EXC_BAD_ACCESS(码= 1,地址= 0xffffffffc)

的代码:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 
    let defs = NSUserDefaults.standardUserDefaults() 
    defs.setDouble(2.5, forKey: "foo") 

    return true 
} 

我在做什么错?

+3

声明为var不让。让我们不断,一旦你宣布你不能改变它。 – mohacs

+0

设备或模拟器?我无法在iOS 8模拟器上重现问题。 –

+3

@mohacs:'让defs = ...'应该没有问题。 'defs'是一个*引用类型*,并且不会通过调用实例的方法进行修改。请参阅Swift手册中的“类是引用类型”。 –

回答

0

我第一次升级到beta 3时遇到了同样的错误,但通过清理我的项目解决了这个问题。

尝试“产品 - 清洁”

为我工作,虽然不知道是什么真正的问题。

+0

这是ios8模拟器中的一个错误。它可以在物理ios8设备上正常工作。请参阅http://stackoverflow.com/questions/24985825/nsuserdefaults-not-cleared-after-app-uninstallation/25086816#25086816 – anders

相关问题