qq_41295037 2018-10-07 23:05 采纳率: 0%
浏览 350

iOS 重新运行程序,如何追加数据而不是覆盖?

当重新运行程序,原来的数据就会被覆盖。往往返回的数据为空,覆盖后原来的数据也不见了。
存储方式不限,但是我想知道怎么做到
返回为空,保留原本的数据。返回不为空,在数据后面追加。

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-06 22: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已经被正确初始化并且可以写入。如果这些条件没有满足,你可能需要进行一些额外的处理来确保它们能够正常工作。

    评论
    编辑
    预览

    报告相同问题?

    悬赏问题

    • ¥15 关于#c++#的问题,请各位专家解答!
    • ¥15 Linux系统虚拟机连不上网络
    • ¥15 Qt控件QCombobox样式设计之后箭头不见了
    • ¥15 8阶光立方求驱动层和应用层代码(原理图已给出)
    • ¥15 如何在不联网的时候使用下面导入的库
    • ¥15 飞控连接AirSim后,报错not have a valid GPS home location,请问如何解决?
    • ¥35 分割任务计算损失问题
    • ¥25 基于哈夫曼树的文件解压缩
    • ¥20 ipadpro作为macminiM4唯一的显示器开机自动连接
    • ¥15 libstdc.so.6.0.30
    手机看
    程序员都在用的中文IT技术交流社区

    程序员都在用的中文IT技术交流社区

    专业的中文 IT 技术社区,与千万技术人共成长

    专业的中文 IT 技术社区,与千万技术人共成长

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

    客服 返回
    顶部