如何从NSUserdefaults中删除可变数组元素?

时间:2016-10-03 05:52:31

标签: ios arrays swift uicollectionview nsuserdefaults

我将数组元素存储在NSUserdefault中并从中进行检索,但我想从NSUserdefault中删除数组元素。

从NSuserdefault

重新开始
let defaults = UserDefaults.standard
let array = defaults.object(forKey: "ArrayString") as? [String] ?? [String]()
print("NSUserDefault :\(array)")

结果:

NSUserDefault :["first", "second","third","fourth","fifth"]

我在CollectionView中显示这个数组现在我想从这个数组中删除怎么办?

提前感谢您..

3 个答案:

答案 0 :(得分:1)

我们可以从NSUserdefault删除元素,看看这个......

<强> ---&GT;自我解决方案,对我有帮助......

在NSUserdefault中存储数组

let defaults = UserDefaults.standard
defaults.set(appDelegate.arrMutable, forKey: "ArrayString")
defaults.synchronize()

从NSUserdefault检索

var array : Array<String> = []
array  = defaults.object(forKey: "ArrayString") as? [String] ?? [String]()

从NSUserdefault中删除数组元素

array.remove(at: buttonIndex)
defaults.set(array, forKey: "SavedStringArray")
defaults.synchronize()
print("Removed Array:\(array)")

答案 1 :(得分:0)

Swift 2.x

chart1.ChartAreas[0].AxisX.Minimum = DateTime.Parse(textBox7.Text).ToOADate();
chart1.ChartAreas[0].AxisX.Maximum = DateTime.Parse(textBox8.Text).ToOADate(); 

Swift 3.0

NSUserDefaults.standardUserDefaults().removeObjectForKey("MyKey")

答案 2 :(得分:0)

您只需要从数组中删除项目,然后在同一键下再次将相同的数组保存在UserDefaults中。它将覆盖原始文件。

这是tableView中的示例:

itemArray.remove(at: indexPath.row)
UserDefaults.standard.set(itemArray, forKey: "itemArray")