2015-06-18 230 views
-1

我試圖檢查NSUserDefault中是否存在特定的密鑰。問題是它不斷返回錯誤。怎麼回事lldb錯誤?檢查NSUserDefaults中是否存在密鑰

if let data = NSUserDefaults.standardUserDefaults().objectForKey("teams") as? NSData { 

} 
+3

什麼是錯誤? – rmaddy

+0

你的例子工作正常。它確實檢查了值而不是密鑰,但它不應該帶來調試器。 – Moritz

+0

很有可能你有一個手動中斷點集。 – nhgrif

回答

5

此代碼適用於我。試試看:

if (NSUserDefaults.standardUserDefaults().objectForKey("yourKey") != nil) { 
    // perform your task here 
} 
+0

曾經在NSUserDefaults中存儲過「nil」嗎?它通常只是刪除整個事情。 – Eiko

+2

@EricD。檢查值是否爲「nil」是檢查的唯一方法。既然你不能在'NSUserDefaults'中存儲'nil',如果這個鍵存在,你將得到一個非零的鍵值結果。如果你的值爲'nil',那麼該鍵不存在。 – rmaddy

+0

@rmaddy我之前沒有意識到。感謝您詳細解釋。 – Moritz