我需要保护我的代码免受可能的错误。如果它们出现,那么进一步运行应用程序就没有意义了,所以我需要给用户带来一些消息,然后退出应用程序。所以,我正在检查条件,然后发出警报:
if (someError){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Error" message:@"No database file exist. App will close now." delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
[alert show];
[alert release];
}
在委托方法中,我使用 NSAssert 关闭应用程序:
-(void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
NSAssert(0, @"closing");
}
}
另外,我在标头中包含了委托协议。但是,该应用程序只是带来警报,但在按下 OK 后它只是冻结,并且我收到一些消息“CoreAnimation:忽略异常:关闭”。我错过了什么或存在哪些其他选择?