在 IOS 开发中 NSUserDefaults 取到二层循环的值怎么办


下面是 Plist 文件

clipboard.png

现在我需要取出 Authentication 下的 Phone 的值

代码如下


 var userDefaults = NSUserDefaults(suiteName: "RootCom")
println(userDefaults?.dictionaryForKey("Authentication"))
//以上这一步我就不知道如何取出 phone 的 强制转换成 NSDictionary 会有黄色感叹号

clipboard.png

请问可以不可这样取值 那么在 NSUserDefaults 取到二层循环的值怎么办?
如何设置与删除呢?

clipboard.png

ios swift

ce9bxkf 9 years, 4 months ago

取第一层的值可以换用 objectForKey 试一下。
嵌套取值要注意里面一层的返回值类型对应外层的参数类型。
但是不建议嵌套着写,毕竟减低可读性。

赋值就 setValueForKey (或者 setObjectForKey ,setBoolForKey 等等)。
删除就 removeObjectForKey 。

蓝精灵主教 answered 9 years, 4 months ago

Your Answer