当重新运行程序,原来的数据就会被覆盖。往往返回的数据为空,覆盖后原来的数据也不见了。
存储方式不限,但是我想知道怎么做到
返回为空,保留原本的数据。返回不为空,在数据后面追加。
iOS 重新运行程序,如何追加数据而不是覆盖?
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
你知我知皆知 2024-08-07 06:25关注以下回答参考 皆我百晓生、券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。
在iOS中,你可以使用
UserDefaults来保存和加载数据。如果你想要从UserDefaults中获取或设置一个特定的键值对,并且你希望返回的结果是空字符串(即清空),那么你可以这样做:if let value = UserDefaults.standard.string(forKey: "key") { return value } else { return "" }这将检查UserDefaults是否包含名为"key"的键。如果存在,它将返回其对应的值;否则,它将返回空字符串。
如果你想在数据之后添加新的内容,你需要创建一个新的UserDefaults对象并将其存储到你的应用程序实例中。以下是一个简单的例子:
let defaults = UserDefaults.standard do { let newValue = "New Value" try defaults.set(newValue, forKey: "key") } catch { print("Error saving to UserDefaults: \(error)") } // 获取新添加的内容 if let newValue = defaults.string(forKey: "key") { print("New value: \(newValue)") }在这个例子中,我们首先尝试从UserDefaults中获取名为"key"的键的值。如果成功,我们将新值设置为这个键的值;如果不成功,我们将打印错误信息。
然后,我们创建一个新的UserDefaults对象,并设置名为"key"的新键及其值。最后,我们从这个新的UserDefaults对象中获取名为"key"的键的值,并打印出来。
请注意,这些示例都假定UserDefaults已经被正确初始化并且可以写入。如果这些条件没有满足,你可能需要进行一些额外的处理来确保它们能够正常工作。
解决 无用评论 打赏 举报