【问题标题】:Will there be any conflict with other applications when my application saves data in [NSUserDefaults standardUserDefaults]?当我的应用程序在[NSUserDefaults standardUserDefaults]中保存数据时,会不会与其他应用程序发生冲突?
【发布时间】:2010-06-06 16:33:37
【问题描述】:

阅读本帖后: NSUserDefaults not present on first run on simulator

我知道在 [NSUserDefaults standardUserDefaults] 中存储一些应用数据非常容易。但是,如果其他应用程序也碰巧使用相同的密钥来存储它们的数据,我的应用程序数据是否有可能被覆盖?

非常感谢大家。

【问题讨论】:

    标签: iphone nsuserdefaults


    【解决方案1】:

    不,每个应用程序都有自己的默认值,根据应用程序的捆绑 ID 保存在不同的文件中。在 iPhone(和模拟器)上,每个应用程序也都有自己的主目录,并且无法访问其他应用程序的文件。

    【讨论】:

    • 这可以正确回答问题,但提供的信息超出了问题的范围,具有误导性。读取是通过一系列数据库进行的,尽管这些数据库要么是系统范围的,要么属于您的应用程序,而不是其他应用程序。有关更多信息,请参阅 standardUserDefaults 的文档。
    【解决方案2】:

    没有。当你在 NSUserDefaults standardUserDefaults 中存储一些东西时,它主要是你的应用程序的一个集合。 iPhone 上的其他应用程序无法存储在那里。

    但是,如果您读取的密钥不是您存储的,您可能会从系统数据库中取回一个值。这不会是其他应用程序的数据,而是与 iPhone 本身相关的数据。不过,我认为这些密钥是无证的。

    【讨论】:

      【解决方案3】:

      每个应用程序都有其用户默认设置的沙盒。你不会遇到任何碰撞。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-05-17
        • 1970-01-01
        相关资源
        最近更新 更多