2016-09-15 78 views
-2

更新到Xcode 8.0和iOS 10後,我的代碼中出現了一個我以前沒有看到的錯誤。讓我來引導你通讀那些困擾我的代碼。xcode 8更新後出現錯誤 - NSUserDefaults

viewDidLoad中:

struct defaultsKeys { 
    static var localStrings = "" 
} 

外部按鈕(IBAction爲):

var storeUserData = NSUserDefaults.standardUserDefaults() 

裏面按鈕(IBAction爲):

let earlierStrings = storeUserData.stringForKey("localStrings") 

最後一個,該按鈕內,是線那是給我一個錯誤。我現在得到這個錯誤: fatal error: unexpectedly found nil while unwrapping an Optional value

而我沒有更新之前? NSUserDefaults有什麼改變?我很困惑,我希望你能幫助我:-)

+1

你得到的值是否是一個字符串,而變量'localStrings'這裏:storeUserData.stringForKey( 「localStrings」)。 –

+0

@AdilSoomro,你在說什麼? :-) –

+0

「外部按鈕」,「內部按鈕」 - 您是否使用用戶默認設置來傳遞內容?不要這樣做。 – vikingosegundo

回答

0

首先,如果你想在你的程序中傳遞值,只需使用局部變量作爲@vikingosegundo聲明。聲明局部變量並使用它們。

其次,如果要存儲變量(如用戶設置或首選項),請使用NSUserDefault。也請遵循@Adils建議。使用它們如下:

設定值:

NSUserDefaults.standardUserDefaults().setObject("YOUR STRING", forKey: "key") 

獲得價值:

NSUserDefaults.standardUserDefaults().stringForKey("key")