空白的开头和结尾的警报视图

时间:2012-02-20 19:37:35

标签: objective-c

我有一个虚空。这个虚空做的事情确实很慢,所以在Void开始时我发出警报,最后我又发出警告。像这里:

-(void)action {
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Start" message:@"Start." delegate:self cancelButtonTitle:@"Ok." otherButtonTitles:nil];
[alerta show];
[alert release];

//Something really slow

    UIAlertView *alertEnd = [[UIAlertView alloc] initWithTitle:@"End" message:@"End." delegate:self cancelButtonTitle:@"Ok." otherButtonTitles:nil];
[alertEnd show];
[alertEnd release];
}

但是当我运行此代码时,警报只会在所有缓慢操作后显示在Void的末尾。

我该如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

你必须将两种方法分开,然后使用

调用一种方法
[self performSelector: afterDelay:]

方法

答案 1 :(得分:0)

首先:尽量避免使用许多警报,因为它对您的用户来说并不人性化。改为显示UIActivityIndi​​cator。

如果必须,请尝试使用此代码显示第一个警告:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Start" message:@"Start." delegate:self cancelButtonTitle:@"Ok." otherButtonTitles:nil];

[alert performSelector: @selector(show)
              onThread: [NSThread mainThread]
            withObject: nil
         waitUntilDone: NO];