gpt4 book ai didi

ios - NSUserDefaults in swift 用于为 TableView 保存字符串数组

转载 作者:行者123 更新时间:2023-11-28 12:42:09 26 4
gpt4 key购买 nike

你好,我有一个 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 保存我的数组我尝试了一些方法但它对我不起作用。

最佳答案

你可以这样设置itemList数组。

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 的更多详细信息,请阅读此 tutorial

编辑: 问题是你试图在 Sting 数组中添加 [String] 对象,这是不可能的,如果你想合并两个数组然后这样写.

if let items = defaults.stringArrayForKey("items") {
self.itemList = self.itemList + items
}

关于ios - NSUserDefaults in swift 用于为 TableView 保存字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39181878/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com