【问题标题】:How to remove mutable array element from NSUserdefaults?如何从 NSUserdefaults 中删除可变数组元素?
【发布时间】:2016-10-03 05:52:30
【问题描述】:

我将数组元素存储在 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 中显示这个数组,现在我想如何从这个数组中删除?

提前致谢..

【问题讨论】:

  • 您想从数组中删除元素还是从用户默认值中删除数组对象?
  • 删除所需元素后,您只需将整个数组保存回 NSUserDefaults。
  • 谢谢@Michael,但我想将此数组显示为收藏视图中的收藏夹,用户可以从收藏视图中删除而不是如何删除?
  • @seggy 你能展示collectionView的代码,你是如何从数组中删除对象的。
  • 我不确定您想要什么 - 您是否尝试从 NSUserDefaults 加载 5,在 CollectionView 中显示 5,将 NSUserDefaults 更新为现在只有 4 个,但仍然在 CollectionView 中显示 5?如果是这样,只需将 5 复制到另一个数组,删除您不想要的,并将其保存到 NSUserDefaults,覆盖原始数组。 CollectionView 仍将引用 5 的原始数组。

标签: ios arrays swift uicollectionview nsuserdefaults


【解决方案1】:

我们可以从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)")

【讨论】:

    【解决方案2】:

    斯威夫特 2.x

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

    斯威夫特 3.0

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

    【讨论】:

    • 谢谢@Chandresh Kachariya,但请仔细阅读我的问题,我想删除元素而不是关键。
    【解决方案3】:

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

    这是来自 tableView 的示例:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2019-04-09
      • 2013-09-01
      相关资源
      最近更新 更多