Почему UIActionSheet отменяет сбой моего приложения? - PullRequest
1 голос
/ 16 апреля 2010

Я пытаюсь использовать UIActionSheet в своем приложении для iPhone, но у меня возникает следующая проблема. Когда я нажимаю кнопку отмены "Я не", приложение вылетает. Когда я удаляю инструкцию NSLog из actionSheet: clickedButtonAtIndex: это не так. Кнопка «Да, сделай это» работает очень хорошо, и я вижу оператор log в консоли. Что не так?

- (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);
}

1 Ответ

4 голосов
/ 16 апреля 2010
NSLog(@"buttonIndex: %@", buttonIndex);

buttonIndex является целым числом, а %@ ожидает только объекты ObjC (не целые числа). Это несоответствие приводит к сбою системы. Используйте

NSLog(@"buttonIndex: %d", buttonIndex);

вместо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...