NSUserDefaults
可以用于你所要求的。
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"shownPrompt"]) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"shownPrompt"];
// Show your prompt or whatever
}
这是一个有效的代码片段。如果该键为 false,则将其设置为 true 并显示提示。下次运行此代码时,该键已变为 true,因此不会显示提示。
NSUserDefaults
特定于当前设备上的当前应用程序,类似于NSMutableDictionary
因为它是一个键值系统,不同之处在于,它不是实例化您自己的系统,而是为您的整个应用程序提供一个通用共享实例,当应用程序退出时,该实例不会被删除。
NSUserDefaults
非常适合保存诸如是否已显示某些内容、上次运行的日期等信息。请阅读此处的文档:https://developer.apple.com/documentation/foundation/userdefaults https://developer.apple.com/documentation/foundation/userdefaults
不要被“用户偏好”部分吓倒。您可以使用它来保存任何您想要的内容(只要它是或可以转换为NSObject
它实现了<NSCoding>
,这基本上意味着NSString
, NSDictionary
, NSArray
, NSNumber
, UITextField
, int
, float
, bool
, etc.).
只是为了澄清,你放入的东西NSUserDefaults
will not,在任何情况下,都会自动出现在“设置”应用程序中。它将被完全保密和隐藏。要在“设置”中显示某些内容,您需要将“设置”捆绑包添加到您的应用程序中,并为您希望在“设置”应用程序中可见的每个值手动添加键。