Вот шаги для воспроизведения:
Используя Xcode 4.2 создайте новый проект, используя Приложение Master-Detail
Установите флажок Использовать автоматический подсчет ссылок (ARC), Основные данные и выберите iPad .Внутри viewDidLoad
поместите этот код:
UIBarButtonItem *backButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(goBack)];
backButton.title = @"back";
self.navigationItem.leftBarButtonItem = backButton;
Также поместите этот метод где-нибудь еще:
- (void)goBack
{
[self.navigationController popViewControllerAnimated:YES];
}
Внутри didSelectRowAtIndexPath
на MasterViewController
поместите этот код:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
MasterViewController* master = [[MasterViewController alloc] init];
master.managedObjectContext = self.managedObjectContext;
[self.navigationController pushViewController:master animated:YES];
}
Добавьте строку и щелкните внутри нее.
Вернитесь к основному виду и снова щелкните элемент.
Попробуйте добавить что-либо или удалить в новом представлении и следующеепроисходит сбой:
*** -[MasterViewController controllerWillChangeContent:]: message sent to deallocated instance 0x6d85c30
Те же действия не выполняются, если вы не используете ARC.
Та же ошибка при использовании модального режима.
Может ли кто-нибудь подтвердить это илиЯ что-то упускаю с использованием ARC?