2015-06-18 140 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