@properties - Управление памятью - PullRequest
0 голосов
/ 01 июня 2011

будет ли этот код в порядке управления памятью?

@property (nonatomic, retain) id object;
...
id anObject = [[Object alloc] init];
self.object = anObject;
id otherObject = [[Object alloc] init];
self.object = otherObject;

Спасибо за ваши ответы, Кристиан

1 Ответ

2 голосов
/ 01 июня 2011

Нет.Как указывает дескриптор свойства, он сохранит объект при назначении.Итак, когда вы выделяете его, у вас будет два сохранения в вашем объекте на момент присвоения ему self.object.Итак, вы должны выпустить его:

@property (nonatomic, retain) id object;
...
id anObject = [[Object alloc] init];
self.object = anObject;
[anObject release];

id otherObject = [[Object alloc] init];
self.object = otherObject;
[otherObject release];
...
at dealloc:
self.object = nil;

Удачи!

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