应用加载时显示'免责声明'

时间:2013-11-18 21:55:40

标签: ios iphone objective-c

我的应用的super viewDidLoad部分中有以下代码:

if ( appCounter < 1   ) {
        UIAlertView *alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Disclaimer", "")
                                                        message:NSLocalizedString(@"By agrreing to use this service, dont use while driving", "")
                                                       delegate:nil
                                              cancelButtonTitle:@"I Agree to not use this while Driving"
                                              otherButtonTitles: nil];
        [alert show];
        appCounter = appCounter+1;
    }

基本上,它应该在应用加载时显示免责声明。但每次用户离开主屏幕,然后返回主场景(多视图应用程序)时,免责声明会再次弹出。

我原以为应用程序计数器会阻止它,但它仍然会弹出。

有人可以指出我的代码中哪里出错了吗?以及我需要做些什么来纠正这个问题?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

假设您在类中声明appCounter为实例变量,例如

@interface MyViewController () {
    int appCounter
}

然后每次都会创建一个新的MyViewController,appCounter将重置为零。

你希望appCounter是静态的:一劳永逸。您可以使用静态变量声明替换当前版本:

static int appCounter;

(即你的.m文件,而不是在接口定义中)。这应该是一劳永逸的。还有其他方法可以在ViewController的所有实例之间共享appCounter(有些人对于声明静态变量很有趣,即使它们无法从该模块外部访问),但这是最简单的。