Когда сохранить в цели C? - PullRequest
0 голосов
/ 19 августа 2010

Я писал цель c в течение нескольких недель.Однако этот вопрос все еще беспокоит меня.Может ли кто-нибудь объяснить на английском языке боль: когда удерживать объект?

Ответы [ 3 ]

5 голосов
/ 19 августа 2010

Посетите веб-сайт Apple по управлению памятью и владению объектами.

http://developer.apple.com/mac/library/documentation/cocoa/conceptual/MemoryMgmt/MemoryMgmt.html

1 голос
/ 20 августа 2010

Простой английский, а не код? Попробуйте это: Objective-C сохранить разъяснения подсчета

1 голос
/ 19 августа 2010

Этот вопрос задавался много раз раньше.Взгляните на эту статью , в которой обобщены все возможные ситуации.

По сути, вы сохраняете объект, если берете его под контроль.Допустим, вы получили строку, используя NSString s stringWithFormat.Согласно статье выше, этот тип метода будет возвращать результат autorelease.Если вы будете использовать этот результат в течение более длительного периода, скажем, дольше, чем объем, в котором он получен, тогда вы захотите retain указать, что вы будете «контролировать» этот результат.В противном случае он release сам (подсказка: авто-релиз) подумает, что он больше никому не нужен.

Если вы прочитаете статью, вы увидите, что делать в каких случаях (она довольно конкретна и лаконична),Зная это, вы принимаете решение, основываясь на том, понадобится ли вам объект дольше ожидаемого.

Если вы используете свойства с атрибутом retain, то об этом позаботятся за вас.автоматически.Используя приведенный выше пример:

my.property = [NSString stringWithFormat:@"%f", 0.2f];

Результат будет автоматически сохранен, поскольку вы используете свойство.

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