![]() |
1
1
如果您所谈论的项目列表是一个在单个键下注册的数组,那么是的,传递给
如果您希望在用户升级时在默认情况下将新项添加到此数组中,我建议您通过提取现有数组、添加新项,然后再次将较大的数组保存回用户默认值,将这些项显式添加到密钥中。您可以使用一个单独的布尔标记来指示升级已经完成,以确保添加不会多次执行。 |
![]() |
2
0
有什么问题?如果用户从不更改(或更确切地说:设置)首选项,则将使用出厂默认设置。如果应用程序的更新更改了出厂默认值,则将使用这些默认值。如果用户设置了自己的首选项,则将继续使用。 新的出厂默认值不会(也不应该)覆盖用户设置首选项。nsuserdefaults做的正是你想要的。 |
![]() |
3
0
我同意约翰·库尔的观点。用户默认值可以正常工作。如果在更新的应用程序版本中有一个您想要更改的首选项(无论出于什么原因),只需稍微重命名该首选项即可。例如,如果someValue是版本1中的首选项,那么在版本2中,它的名称someValue_v2和新的出厂默认值将生效。 |
![]() |
Frost · Singleton属性根据调用返回不同的值 6 年前 |
![]() |
Charles B. · Swift错误:“NSInvalidArgumentException”,原因:“-[\u SwiftValue encodeWithCoder:]:发送到实例0x6000012ABE0的选择器无法识别” 7 年前 |
![]() |
B.Kaan · 我无法使用NSUserDefaults添加分数 7 年前 |
![]() |
Joe · 使用UserDefaults存储不同用户的数据 7 年前 |
![]() |
eli · 是什么导致了NSUserDefaults中的此崩溃? 7 年前 |