0

当我在 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");
    }
}

我试过clickedButtonAtIndexdidDismissWithButtonIndex方法替换。但我没有得到任何结果。

谢谢。

4

1 回答 1

0

尝试将 [self.navigationController popToRootViewControllerAnimated:YES] 移动到函数的底部(即在所有其他代码运行之后)。

于 2012-05-19T06:46:40.880 回答