如何避免通知中的UIAlertView重复显示

时间:2012-10-16 03:36:38

标签: uialertview nsnotificationcenter

我有一个选择器显示UIAlertView询问用户是否要在NotificationCenter使用observename发布通知后重试上传图片。

[[NSNotificationCenter defaultCenter] postNotificationName:kNOTIFICATION_PHOTOS_UPLOAD_RETRY object:nil];

但由于收到的通知不止一个,因此会显示与收到的通知一样多的通知。是否有最佳做法只显示一次警报视图?

1 个答案:

答案 0 :(得分:0)

是的,你可以这样做:

@interface MyClass
{
    UIAlertView *_myAlertView;
}
@end

@implementation MyClass
...
- (void)myNotificationSelector:(NSNotification *)notification
{
    if (!_myAlertView) {
        _myAlertView = [[UIAlertView alloc] init ...]
        _myAlertView.delegate = self;
        [_myAlertView show];
    }
}
...
@end

在UIAlertViewDelegate处理程序中,只需释放并将_myAlertView设置为NO。