我为警报创建了一个类级别的方法:
@interface TestAlert
@end
+ (void)showErrorAlert:(NSTimer *)message
{
.......
UIAlertView *alert = [[UIAlertView alloc]initWithTitle:nil message:messageIn delegate:self cancelButtonTitle:nil otherButtonTitles:@"OK", nil];
[alert show];
}
我想直接调用它scheduledTimerWithTimeInterval
:
[NSTimer scheduledTimerWithTimeInterval:0.001 target:TestAlert selector:@selector( showErrorAlert:) userInfo:error repeats:NO];
当然有语法错误。
我知道我可以提出showErrorAlert
一个方法:
- (void)showError:(NSTimer *)timer
{
//NSLog(@"show error %@", error);
[TestAlert showErrorAlert:(NSString *)[timer userInfo]];
}
然后
[NSTimer scheduledTimerWithTimeInterval:0.001 target:self selector:@selector(showError:) userInfo:error1 repeats:NO];
但是showErrorAlert
调用时会导致崩溃,因为showErro
r 方法的错误信息已被释放。
我可以直接打电话吗showErrorAlert
,如果我不能,我应该如何避免错误消息的发布?