使用NSUserDefaults.standardUserDefaults()更新密钥和值

时间:2015-12-10 20:01:28

标签: ios swift

我正在尝试使用.entry-label STEP 1: UPLOAD YOUR IMAGE .entry-upload#uploadhere .upload-here i.fa.fa-file-image-o br = "UPLOAD YOUR IMAGE HERE" img =f.file_field :upload

持久保存数组的应用

我正在努力实现以下目标但需要一些帮助,因为我是一个新手。我认为这些是常见的要求(已在几个应用程序中看到它们)但我无法快速找到方法。

  1. 数组动态增长,我希望能够存储更新的数组,或者稍后使用相同的键添加新值。我认为如果我用新数组覆盖相同的密钥,随着数组变大,会有相当多的开销。有一个更好的方法吗 ?为了解决这个问题,我目前正在对值进行批处理并存储多个数组。

  2. 我希望能够在某个其他位置更改密钥的名称,例如密钥重命名。我相信有一种方法可以增加某种“引用”#ref;在对象上,删除旧密钥并添加新密钥。我无法在swift中找到方法,但似乎有些ObjectiveC方法。我目前正在使用一种名称重定向层并解决此问题。

1 个答案:

答案 0 :(得分:1)

NSUserDefaults不是存储大量数据的好地方,因此在您的案例中使用它可能不正确。不确定您存储了多少数据但请记住这一点。您可以通过Google搜索“ios persist data”找到更多信息

无法“更新”数据。例如,在数组上,您必须将整个数组写回。

要更新阵列中的特定项目,您必须读取整个阵列,修改它,然后将整个阵列写回磁盘。

如果我没有正确理解您的问题,您发布的任何代码都会有所帮助。