2014-10-20 37 views

回答

0
if([[NSUserDefaults standardUserDefaults]integerForKey:@"launchCount"]==0){ 
     [[NSUserDefaults standardUserDefaults]setInteger:1 forKey:@"launchCount"]; 

    }else{ 
     [[NSUserDefaults standardUserDefaults]setInteger:[[NSUserDefaults standardUserDefaults]integerForKey:@"launchCount"]+1 forKey:@"launchCount"]; 

    } 
+0

这个答案需要很多工作。它在哪里?这是如何显示警报视图的?为什么有这个'if'声明呢?只要获得价值,增加价值,存储它。你不需要为'0'进行特殊检查。并使用一个变量。无需像现在这样两次读取当前值。 – rmaddy 2014-10-20 18:04:38

+0

@NofelMahmood thnx!你有一个示例代码如何做到这一点?太感谢了! – Jan 2014-10-20 18:07:20

+0

@rmaddy thnx!你有一个示例代码如何做到这一点?太感谢了! – Jan 2014-10-20 18:13:17

4
int launches = [[NSUserDefaults standardUserDefaults] integerForKey:@"launchCount"]; 
if (launches > 3) { 
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"My Alert" 
                message:@"Some message" delegate:nil 
             cancelButtonTitle:@"OK" otherButtonTitles:nil]; 
    [alert show]; 
} 
[[NSUserDefaults standardUserDefaults] setInteger:launches+1 forKey:@"launchCount"]; 
+0

谢谢你的回答。如果我将这段代码添加到viewcontroller的viewDidAppear中,3次后重新打开后没有任何反应。 – Jan 2014-10-20 18:43:56

+0

如果你在最后一行放置了一个断点,那么每次启动时'launch'的值是多少? – 2014-10-20 18:46:50

+0

未找到类,而是使用默认的NSManagedObject。当我将代码添加到ViewDidLoad时,它总是显示警报。 – Jan 2014-10-20 18:51:44

相关问题