我尝试在我的iPhone应用程序中使用UIActionSheet但有以下问题。当我点击取消按钮“我没有”时,应用程序崩溃。当我从actionSheet中删除NSLog语句时:clickedButtonAtIndex:它没有。 “是的,做它”按钮工作得很好,我在控制台中看到了日志语句。怎么了?
- (void) doItWithConfirm {
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"do you really wanna do it?"
delegate:self cancelButtonTitle:@"I don't" destructiveButtonTitle: nil
otherButtonTitles:@"Yes, do it", nil];
[actionSheet showInView:self.view];
[actionSheet release];
}
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
NSLog(@"buttonIndex: %@", buttonIndex);
}
答案 0 :(得分:4)
NSLog(@"buttonIndex: %@", buttonIndex);
buttonIndex是一个整数,%@
只需要ObjC对象(不是整数)。这种不匹配会导致系统崩溃。使用
NSLog(@"buttonIndex: %d", buttonIndex);
代替。