Почему свойство view UIViewController увеличивает значение retainCount при каждом доступе? - PullRequest
1 голос
/ 22 октября 2010

Так что это вопрос.Почему он это делает?Даже когда я делаю что-то вроде этого

NSLog(@"view's retainCount %d", [viewController.view retainCount]);

, это увеличивает счет удержания.

1 Ответ

1 голос
/ 22 октября 2010

Не смотрите на счет удержания.

Метод получения viewController удерживает его для вас, поэтому он может вернуть вам ссылку (в данном случае) на доступ к переменной «retainCount». Он возвращает эту ссылку как «autorelease», так что это не совсем perminantley, удерживающий счет удержания.

Например, если вы запускаете эту функцию NSlog 5 раз подряд, вы можете увидеть, что retainCount повысится на 5, но если вы создали кнопку пользовательского интерфейса, которая вызвала ее - таким образом, давая авто-релизу возможность переключаться между нажатие кнопки - вы не увидите, как она будет расти вечно.

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