小编bsn*_*eed的帖子

为什么NSUserDefaults会在我的应用程序的库/首选项中留下临时plist文件?

我无法弄清楚为什么NSUserDefaults在我的应用程序的Library/Preferences中留下垃圾plist文件.

我看到以下文件......

com.mycompany.myapp.plist
com.mycompany.myapp.plist.3gaPYul
com.mycompany.myapp.plist.c97yxEH
Run Code Online (Sandbox Code Playgroud)

...等plist.*文件是0字节.似乎每次运行应用程序时,它都会留下一个新的.我确定我根本不打电话-[NSUserDefaults synchronize],但是如果我确实打电话,它会加速给定跑步的垃圾文件外观.在调试器中单步执行,一旦我跳过同步调用,就会出现一个新文件.如果我取出同步调用,有时候应用程序启动时会出现一个新的垃圾文件,其他时候会在应用程序退出时出现.

我也在检查是否可能在线程上设置用户默认值(不太可能,但也许是可能),认为文档说它是线程安全的.

任何帮助表示赞赏.谢谢!

编辑:

刚刚发现:CFPreferences创建了多个文件

虽然我同意回答者的想法,但它没有解释"为什么?" 部分.

macos cocoa objective-c nsuserdefaults

7
推荐指数
1
解决办法
1446
查看次数

标签 统计

cocoa ×1

macos ×1

nsuserdefaults ×1

objective-c ×1