有没有办法操纵 NSUserDefaults 存储的信息
Posted
技术标签:
【中文标题】有没有办法操纵 NSUserDefaults 存储的信息【英文标题】:Is there a way to manipulate NSUserDefaults stored information 【发布时间】:2015-11-05 23:07:00 【问题描述】:我已将字典存储到 NSUserDefaults 中,如下所示:
standardDefaults.setObject(switchStater, forKey: "startUp")
switchStater
对象是存储每个UISwitch
的rowIndex
和Bool
值的字典。我可以像这样打印出存储在NSUserDefaults
中的信息:
let test = standardDefaults.objectForKey("startUp")
print(test)
这是我确认数据已正确存储的方式。我将.setObject
放在UITableViewController
的子类中,因为子类在操作它们时会写入UISwitch
。然后我在超类的viewDidLoad
中调用.objectForKey
。
有没有办法测试使用for init
循环存储的NSUserDefault
,如果没有,我该如何测试测试以使UISwitch
处于用户重新加载应用程序后留下的位置?
感谢您的帮助。
【问题讨论】:
【参考方案1】:您可以使用userDefaults.dictionaryForKey("startUp")
从NSUserDefaults
中检索存储的Dictionary
,然后循环遍历字典中的键/值并像这样适当地设置UISwitch
:
let dictionary = userDefaults.dictionaryForKey("startUp")!
for (key, value): (String, AnyObject) in dictionary
let switch = value as! UISwitch
print(key)
print(switch.on)
【讨论】:
谢谢大家。这是我一直在寻找的缺失链接。以上是关于有没有办法操纵 NSUserDefaults 存储的信息的主要内容,如果未能解决你的问题,请参考以下文章
在 iOS 上存储身份验证令牌 - NSUserDefaults 与钥匙串?