Iphone NSUserDefault,仅在第一次加载时执行某些操作
我正在尝试在应用程序第一次启动时显示警报。如果他们稍后进入设置页面并希望再次看到,我还希望显示此警报。我想我可以在Iphone NSUserDefault,仅在第一次加载时执行某些操作,iphone,nsuserdefaults,Iphone,Nsuserdefaults,我正在尝试在应用程序第一次启动时显示警报。如果他们稍后进入设置页面并希望再次看到,我还希望显示此警报。我想我可以在NSUserDefaults中设置一个布尔值。但我不太确定如何做到这一点(假设这种方法是正确的)。我认为在applicationdFinishLaunching:options中,我可以获得键@“FirstTimeLaunched”的值,在应用程序将终止中,我可以将该键的对象设置为否。如果是这种情况,如何使BOOL第一次成为YES 另外,我是否也需要在dienterbackgroun
NSUserDefaults
中设置一个布尔值。但我不太确定如何做到这一点(假设这种方法是正确的)。我认为在applicationdFinishLaunching:options
中,我可以获得键@“FirstTimeLaunched”
的值,在应用程序将终止
中,我可以将该键的对象设置为否
。如果是这种情况,如何使BOOL
第一次成为YES
另外,我是否也需要在
dienterbackground
模式中将其设置为NO
?谢谢。第一次启动应用程序,所以我认为您永远不需要将BOOL
设置为NO
<如果删除应用程序,则会删除代码>用户默认值。我们在应用程序首次启动时进行设置应用程序didfishlaunchingwithoptions:
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstTimeLaunched"];
[[NSUserDefaults standardUserDefaults] synchronize];
如果您将
应用程序中的Bool
设置为NO
,则每次用户从托盘中杀死应用程序时,您都会在应用程序启动时显示警报。同样,这取决于您的业务需求。我会采取相反的方法,首先检查名为ApphasLaunchedPreviousy的密钥
如果是,则绕过警报。
如果不是“是”,则显示警报并立即将其设置为下一次使用。只需将其向后考虑,而不是期望出现“是”
,在实际启动应用程序时设置一个变量,并在用户在“设置”中这样说时将其删除
启动时:
if (![[NSUserDefaults standardUserDefaults] boolForKey:@"hasBeenLaunched"]) {
// show your only-one-time view
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasBeenLaunched"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
当用户想要再次看到它时,只需删除该键:
[[NSUserDefaults standardUserDefaults] removeObjectForKey:@"hasBeenLaunched"];
访问不存在的密钥时,
NSUserDefaults
将返回nil
这是如何工作的?如果(myBool){//show alert;},则在ApplicationIDFinishLaunching中,它将第一次显示警报。下次启动应用程序时不会再次显示它吗,因为该值仍然为“是”?if(myBool)//不显示警报。假设您在应用程序首次启动时将bool设置为YES。否则请保持警惕,谢谢。。我想在第一次在设备上安装应用程序时显示一次特定的控制器,之后,我如何实现这一点,欢迎提供任何帮助请注意,同步
已被弃用。