Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 一次警报?_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 一次警报?

Iphone 一次警报?,iphone,objective-c,ios,Iphone,Objective C,Ios,我想在用户第一次打开我的应用程序时发出UIalert,告诉他们基本功能,但我不希望每次打开应用程序或重新加载主屏幕时都显示UIalert。我在其他应用程序中也看到过这种情况,但不知道最好的解决方法是什么。如果有人能为我指出正确的方向,我们将不胜感激。如果他们之前是否启动过应用程序,请使用“[NSUserDefaults standardUserDefaults]”编写布尔值。使用“[NSUserDefaults standardUserDefaults]”如果他们之前是否启动过应用程序,则写入布

我想在用户第一次打开我的应用程序时发出UIalert,告诉他们基本功能,但我不希望每次打开应用程序或重新加载主屏幕时都显示UIalert。我在其他应用程序中也看到过这种情况,但不知道最好的解决方法是什么。如果有人能为我指出正确的方向,我们将不胜感激。

如果他们之前是否启动过应用程序,请使用“[NSUserDefaults standardUserDefaults]”编写布尔值。

使用“[NSUserDefaults standardUserDefaults]”如果他们之前是否启动过应用程序,则写入布尔值。

将此粘贴到-(void)applicationdFinishLaunching:(UIApplication)application方法中的应用程序委托中

BOOL hasRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"FirstRun"];
if (!hasRunBefore) {

    UIAlertView *firstRun = [[UIAlertView alloc] initWithTitle:@"Virgin" message:@"Hello World!!" delegate:nil cancelButtonTitle:@"Done" otherButtonTitles:nil];
    [firstRun show];
    [firstRun release];


    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstRun"];
}
else if (hasRunBefore) {

//can do some else if run before

}

基本上,这是检查NSUserDefaults中的键“FirstRun”,类似地,这可以修改为版本号或其他内容,例如,如果您希望在每次更新或其他内容后发出新警报。然后,它会检查该密钥是否不存在(!hasRunBefore),如果它不存在(因此以前从未运行过),它会创建一个UIAlertView,然后为该密钥设置“是”(也会创建正在进行的ket)

将该密钥粘贴到-(void)applicationdFinishLaunching:(UIApplication)application方法中的应用程序委托中

BOOL hasRunBefore = [[NSUserDefaults standardUserDefaults] boolForKey:@"FirstRun"];
if (!hasRunBefore) {

    UIAlertView *firstRun = [[UIAlertView alloc] initWithTitle:@"Virgin" message:@"Hello World!!" delegate:nil cancelButtonTitle:@"Done" otherButtonTitles:nil];
    [firstRun show];
    [firstRun release];


    [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"FirstRun"];
}
else if (hasRunBefore) {

//can do some else if run before

}

基本上,这是检查NSUserDefaults中的键“FirstRun”,类似地,这可以修改为版本号或其他内容,例如,如果您希望在每次更新或其他内容后发出新警报。然后,它检查该键是否不存在(!hasRunBefore),如果它不存在(因此以前从未运行过),它会创建一个UIAlertView,然后为该键设置YES(同时创建正在进行的ket)

我在主屏幕的viewDidLoad方法中使用NSUserDefaults。因此,每次应用程序启动并加载主屏幕时,它都会检查是否是用户的第一次

以下是我在我的应用程序中执行此操作的方式:

 - (void)viewDidLoad {
 BOOL tempBOOL = [[NSUserDefaults standardUserDefaults] boolForKey:@"hasSeenOpeningAlert"];
      if (!tempBOOL) {
             UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
             [alert show];
             [alert release];
         }
      [super viewDidLoad];
}
然后:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
        Edit *editViewController = [[[Edit alloc] initWithNibName:@"Edit" bundle:nil]retain];
        [self.navigationController presentModalViewController:editViewController animated:YES];
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasSeenOpeningAlert"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        [editViewController release];
}

我在主屏幕的viewDidLoad方法中使用NSUserDefaults。因此,每次应用程序启动并加载主屏幕时,它都会检查是否是用户的第一次

以下是我在我的应用程序中执行此操作的方式:

 - (void)viewDidLoad {
 BOOL tempBOOL = [[NSUserDefaults standardUserDefaults] boolForKey:@"hasSeenOpeningAlert"];
      if (!tempBOOL) {
             UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome To My App" message:@"This app will ... First you need to ..." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil];
             [alert show];
             [alert release];
         }
      [super viewDidLoad];
}
然后:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{
        Edit *editViewController = [[[Edit alloc] initWithNibName:@"Edit" bundle:nil]retain];
        [self.navigationController presentModalViewController:editViewController animated:YES];
        [[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"hasSeenOpeningAlert"];
        [[NSUserDefaults standardUserDefaults] synchronize];
        [editViewController release];
}

退房,退房,我是新来的。如果你能给我举个例子,这对我真的很有帮助。如果不担心的话。还是谢谢你的帮助。我对这个有点陌生。如果你能给我举个例子,这对我真的很有帮助。如果不担心的话。还是谢谢你的帮助。