2014-07-09 81 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

相關問題