您好我有一个tableview
,这是我在MyItemTableViewController
班级
var itemList = [String]()
@IBAction func saveItemToList (segue: UIStoryboardSegue) {
let AddNewItemViewController = segue.sourceViewController as! addItemTableViewController
let name = AddNewItemViewController.itemName
if name == "" {
}
else {
itemList.append(name!)
let indexToInsert = itemList.count == 0 ? 0 : itemList.count - 1
let indexPath = NSIndexPath(forRow: indexToInsert, inSection: 0)
tableView.insertRowsAtIndexPaths([indexPath], withRowAnimation: UITableViewRowAnimation.Automatic)
}
}
如何使用NSUserDefaults
保存我的数组我尝试了一些方法,但它对我不起作用。
答案 0 :(得分:2)
您可以像这样设置let defaults = NSUserDefaults.standardUserDefaults()
defaults.setObject(itemList, forKey: "items")
defaults.synchronize()
数组。
NSUserDefaults
当你需要从let defaults = NSUserDefaults.standardUserDefaults()
if let items = defaults.objectForKey("items") as? [String] {
print(items)
}
中提取时,你可以像这样提取它
stringArrayForKey
或者您也可以使用if let items = defaults.stringArrayForKey("items") {
print(items)
}
。
NSUserDefaults
有关[String]
的详细信息,请阅读此tutorial
编辑:问题是你正在尝试在Sting数组中添加if let items = defaults.stringArrayForKey("items") {
self.itemList = self.itemList + items
}
对象,这是不可能的,如果你想合并两个数组然后像这样写。
ceyanebepa.js:45 Uncaught ReferenceError: $ is not defined