使用 NSUserDefaults 设置一个可以在以后更改的初始值

Using NSUserDefaults to set an initial value that can be changed afterwards

我的问题与这个类似:How to detect first time app launch on an iPhone

我不完全理解答案,我的问题略有不同(Int 而非 Bool)因此我问这个问题的原因。

如何为应用程序设置一些默认值,比方说我想要变量 a = 10 和 b = 20。这些是您第一次下载并打开应用程序时设置的默认值,但用户会可以选择更改它们。更改设置后,它们需要保持原样,每次打开应用程序时设置都恢复为默认设置会非常烦人。我知道如何使用 NSUserDefault 来保存用户所做的更改,以便他们下次打开应用程序时使用他们的设置。但是我不知道如何设置只会在第一次打开应用程序时设置的初始值。

However I don't know how to set initial values that will only be set the very first time the app is opened.

这就是 registerDefaults: 的目的。

您使用 registerDefaults() 方法来执行此操作。您传递给 registerDefaults 的任何内容都将用作 "setting of last resort",并且仅当用户没有为该键设置其他内容时才会检查。传递给 registerDefaults 的所有内容都不会保存到磁盘,因此您只需在每次程序启动时调用它,无需检查它是否是第一次或类似的事情。