使用布尔值检查应用程序目标c的状态

时间:2011-10-31 09:14:12

标签: iphone objective-c boolean uialertview

我不知道问题是否良好。所以我在开始申请时显示了一个uialertview 30秒。在这个uialertview中,有一个“ok”按钮,用户可以在其上单击并释放警报。如果用户没有单击此按钮30秒,警报将会释放。 这是代码..

 UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" 
                                                message:@"Welcome!" 
                                               delegate:nil 
                                      cancelButtonTitle:@"OK" 
                                      otherButtonTitles:nil];
[alert setDelegate:self];
[alert show];

dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*30.0);
dispatch_after(delay, dispatch_get_main_queue(), ^{
[alert release];

}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {

}

所以我必须使用布尔值来实现控件,以检查用户是否点击了OK ... 你能帮我吗?我是目标c :)的新人,谢谢!

1 个答案:

答案 0 :(得分:0)

显示您的提醒视图,如下所示: 假设isD是BOOL值(在.h文件中将其声明为类成员)

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Welcome" 
                                                message:@"Welcome!" 
                                               delegate:self
                                      cancelButtonTitle:@"OK" 
                                      otherButtonTitles:nil];
[alert setTag:1000];
[alert show];
isD = NO;

dispatch_time_t delay = dispatch_time(DISPATCH_TIME_NOW, NSEC_PER_SEC*5.0);
dispatch_after(delay, dispatch_get_main_queue(), ^{

    if (!isD) {
        [alert dismissWithClickedButtonIndex:0 animated:YES];
    }
});
[alert release];

编写UIAlertViewDelegate方法

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex
{
    if( alertView.tag == 1000 )
    {
        isD = YES;
    }
}