Возврат объектов из методов в Objective-C - PullRequest
3 голосов
/ 30 апреля 2010

Пожалуйста, уточните, как обращаться с возвращаемыми объектами из методов?

Ниже я получаю информацию о сотруднике из функции GeEmployeetData с автоматическим выпуском,

  1. Нужно ли сохранять возвращенный объект в методе Process?
  2. Могу ли я разблокировать * emp в функции Process?

    - (void) Процесс { Employee * emp = [self GeEmployeetData] }

    + (Сотрудник *) GeEmployeetData {

    Employee * emp = [[Employee alloc] init]; // заполняем сущность

    возврат [emp autorelease]; }

1 Ответ

4 голосов
/ 30 апреля 2010

99% времени вы должны сохранять автоматически выпущенные объекты, возвращенные другими методами, если вы хотите сохранить их.

При автоматическом освобождении объектов при удалении пула объектам в пуле отправляется сообщение release. Именно поэтому в 99% случаев вы захотите сохранить автоматически выпущенные объекты, потому что шансы получить объект с retainCount более 1 крайне маловероятны.

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