当我在UIAlertView的点击事件中弹出到根视图控制器时,我的应用程序崩溃。
我的代码如下:
- (void)alertView:(UIAlertView *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0 && ([errorCodeNew isEqualToString:@"IPH_I_LGN_002"])){
[self.navigationController popToRootViewControllerAnimated:YES];
AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:@"3" forKey:@"CurrentSize"];
NSMutableArray *nsmarrJpName;
DatabaseLogic *logic = [[DatabaseLogic alloc] init];
appDelegate.anket_id = [logic getAnketID];
nsmarrJpName = [[NSMutableArray alloc]initWithArray:[logic getDetailScreenItems:[logic getAnketID]] copyItems:YES];
for (int i = 0; i < [nsmarrJpName count]; i++) {
NSString *strKey = [nsmarrJpName objectAtIndex:i];
[defaults setObject: [NSNumber numberWithBool:YES] forKey:strKey];
NSLog(@"key : %@", strKey);
}
[nsmarrJpName removeAllObjects];
[nsmarrJpName release];
appDelegate.strUserFlg = [logic getUserType];
[logic release]; logic = nil;
//start download process
[[NSNotificationCenter defaultCenter] postNotificationName:LOGIN_COMPLETE_NOTIFICATION object:self userInfo:nil];
}else{
NSLog(@"cancel");
}
}
我尝试用clickedButtonAtIndex
方法替换didDismissWithButtonIndex
。但我没有得到任何结果。
感谢。
答案 0 :(得分:0)
尝试将[self.navigationController popToRootViewControllerAnimated:YES]移动到函数的底部(即在所有其他代码运行之后)。