Я использую XCode 5.1.1 для целей разработки и с помощью симулятора iOS для тестирования своего приложения. У меня есть панель действий, в которой есть опции «Сохранить», «Отменить» и «Удалить». Я еще не закодировал действие для сохранения и удаления, но нажатие на отмену должно вернуться к предыдущему экрану (я использовал навигационный контроллер для перемещения между экранами). Но нажав на отмену, бросает меня «ViewController actionSheet: clickedButtonAtIndex:]: сообщение отправлено на освобожденный экземпляр« ошибка, которую я не могу решить. Я правильно подключил все элементы к своим выходам/действиям. Ниже мой код. Пожалуйста помоги. (Я пытаюсь отобразить панель действий, когда нажата кнопка «Возврат». В листе действий, когда я нажимаю «Отмена», должен отображаться предыдущий экран - я думаю, это можно сделать с помощью функции shutViewControllerAnimated, которая отклоняет текущий контроллер и отображает предыдущий контроллер)UIActionSheet throws ViewController actionSheet: clickedButtonAtIndex
-(IBAction)returnModalAction:(id)sender {
[self dismissViewControllerAnimated: YES completion: NULL];
UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:@"What do you want to do with the user values?"
delegate:self
cancelButtonTitle:nil
destructiveButtonTitle:@"Delete"
otherButtonTitles:@"Save", nil];
actionSheet.cancelButtonIndex = [actionSheet addButtonWithTitle:@"Cancel"];
[actionSheet showInView:self.view];
}
-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex{
if (buttonIndex == 2) {
NSLog(@"You have pressed the %@ button", [actionSheet buttonTitleAtIndex:buttonIndex]);
}
}
FYI, в Swift и/или Obj-C нет сборщика мусора. Существует ARC, который НЕ является сборщиком мусора. – TheCodingArt
Большое спасибо, marcos1490, ваш ответ помог мне решить проблему. Теперь я лучше понимаю. Благодаря! – vasupradha