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

How to remove mutable array element from 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 中显示这个数组,现在我想从这个数组中删除如何?

提前致谢..

Swift 2.x

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

Swift 3.0

UserDefaults.standard.removeObject(forKey: "MyKey")

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

---> 自我解决,对我有帮助...

在 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)")

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

这是来自 tableView 的示例:

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