Выпуск @property (копия) переменных экземпляра? - PullRequest
6 голосов
/ 30 ноября 2009

Я почти уверен, что все делаю правильно, но просто хотел проверить. У меня есть две переменные экземпляра, которые имеют методы доступа, созданные через @property. В моем dealloc (для того же объекта) я освобождаю эти объекты.

@property(copy) NSString *firName;
@property(copy) NSString *surName;

-(void)dealloc {
    NSLog(@"_deal: %@", self);
    [firName release];
    [surName release];
    [super dealloc];
}

* 1004 Гэри *

Ответы [ 3 ]

6 голосов
/ 30 ноября 2009

Да, это правильно.

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

0 голосов
/ 01 декабря 2009

Это верно. Запомните политику владения памятью. Поскольку вы используете copy, вы получаете право собственности на объект так же, как если бы вы использовали retain, поэтому вы освобождаетесь, когда закончите.

0 голосов
/ 30 ноября 2009

выглядит правильно. Я бы обычно использовал nonatomic, retain со свойствами NSString, хотя ...

РЕДАКТИРОВАТЬ: copy это.

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