在第一次启动iPhone应用程序时,如何让UIAlertView只出现一次?
发布时间:2020-12-14 19:52:56 所属栏目:百科 来源:网络整理
导读:我正在使用UIAlertView在应用启动后弹出窗口.它工作正常,但我只希望弹出窗口出现在应用程序的第一次启动时.目前,我已经在AppDlegate类中使用了applicationDidFinishLaunching方法中的UIAlertView.这是我的代码: - (BOOL)application:(UIApplication *)appli
我正在使用UIAlertView在应用启动后弹出窗口.它工作正常,但我只希望弹出窗口出现在应用程序的第一次启动时.目前,我已经在AppDlegate类中使用了applicationDidFinishLaunching方法中的UIAlertView.这是我的代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { sleep(4); UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome!" message:@"SAMPLE!!!" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release]; 我是应用程序开发的新手,很抱歉,如果这很简单的话. 解决方法
要确定应用程序是否第一次运行,您需要有一个持久变量来存储此信息.
NSUserDefaults是存储这些简单配置值的最佳方式.
例如, -(BOOL)application:(UIApplication *)application … { NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; if (! [defaults boolForKey:@"notFirstRun"]) { // display alert... [defaults setBool:YES forKey:@"notFirstRun"]; } // rest of initialization ... } 这里,[defaults boolForKey:@“notFirstRun”]从配置中读取一个名为notFirstRun的布尔值.这些值初始化为NO.因此,如果此值为NO,则执行if分支并显示警报. 完成后,我们使用[defaults setBool:YES forKey:@“notFirstRun”]将此布尔值更改为YES,因此if分支将永远不会再次执行(假设用户不删除应用程序). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |