我已经像这样将字典存储到NSUserDefaults中:standardDefaults.setObject(switchStater, forKey: "startUp")
switchStater
对象是存储每个rowIndex
的Bool
和UISwitch
值的字典。我可以像这样打印出存储在NSUserDefaults
中的信息:
let test = standardDefaults.objectForKey("startUp")
print(test)
这就是我确认数据是否正确存储的方式。我把
.setObject
放在UITableViewController
的子目录中,因为子类在被操纵时会写UISwitch
。然后,我在 super class 的.objectForKey
中调用viewDidLoad
。如果没有,有没有办法测试存储在
NSUserDefault
循环中的for init
,我该如何测试测试,以便UISwitch
处于用户重新加载应用程序后的位置?谢谢您的帮助。
最佳答案
您可以使用Dictionary
从NSUserDefaults
中检索存储的userDefaults.dictionaryForKey("startUp")
,然后循环浏览字典中的键/值,并适当地设置UISwitch
,如下所示:
let dictionary = userDefaults.dictionaryForKey("startUp")!
for (key, value): (String, AnyObject) in dictionary {
let switch = value as! UISwitch
print(key)
print(switch.on)
}
关于ios - 有没有一种方法可以处理NSUserDefaults存储的信息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33556521/