Итак, после долгих размышлений и немного разочарований в трате времени, пытаясь найти проблемы с управлением памятью, я провел некоторое исследование и, наконец, поддался переходу на ARC. И это было относительно безболезненно. Однако появилась новая проблема с моими UIViewControllers, Pre-arc все они работали, как рекламировались, я толкнул их в стек, они появились, я вытащил их из стека, их метод dealloc был вызван, и все были счастливы. Переходя к ARC, ни один dealloc не вызывается. что является неудачным. Поэтому я сделал некоторое исследование проблемы, позвольте мне перечислить, что я делаю и/или не делаюUIViewControllers And ARC
. Во-первых, представление, которое я нажимаю на стек, явно не объявлено сильным.
. Делегат, дочерний класс родительского класса, небезопасен, но для покрытия баз я даже прокомментировал установку делегата родителям, без радости.
.Turned Off NSzombies, как, по-видимому, что приведет к вещам, чтобы остаться в АРК включено код
й изменил код, в соответствии с Брэдом Ларсонов ответить в Memory not released in ios view hierarchy, от этого
if (_friendsListVC == nil)
{
_friendsListVC = [[FriendsListViewController alloc] initWithNibName:nil bundle:nil];
_friendsListVC.delegate = self;
}
[self.navigationController pushViewController:_friendsListVC animated:YES];
(_friendsListVC является переменной-членом). Для этого
FriendsListViewController *fVC = [[FriendsListViewController alloc] initWithNibName:nil bundle:nil];
//fVC.delegate = self;
[self.navigationController pushViewController:fVC animated:YES];
снова нет радости, dealloc точка останова никогда не получает удар, и дело в том, я толкать и поп много взглядов в мое приложение, так что это приведет лишь к большему количеству проблем с памятью, поверх них я перешел на ARC, надеюсь, исправить ...
Также обратите внимание, что у меня есть несколько кодовых блоков в этом представлении, а также некоторые другие, но я не использую self, который я также читаю, сам сохранен, поэтому вы должны слабый ref, когда дело доходит до кодовых блоков.
Я устал, может кто-нибудь разъяснить мне, что делает ARC? или что я не делаю в отношении к использованию ARC? и для будущей ссылки все представления, которые вы хотите использовать для иерархии представлений в ARC, не являются переменными экземпляра?
благодарит заранее.
Вы включены nszobie? –