Если у моего свойства нет установщика (только для чтения), верно ли, что UIKit сохраняет значение, если это не NSNumber или NSValue? - PullRequest
2 голосов
/ 24 апреля 2009

Я хочу выяснить, в каких случаях мне нужно заботиться об управлении памятью, когда речь заходит о свойствах. Я записал что-то с сайта, который больше не помню, где они сказали, что если свойство имеет какое-либо значение, кроме NSNumber или NSValue, и если оно не имеет установщика, то UIKit автоматически высвободит старое значение и сохранит новое. Хотя я не понимаю, почему UIKit устанавливает что-либо, если нет установщика (я полагаю, прямо к значению).

Ответы [ 2 ]

0 голосов
/ 24 апреля 2009

Вам следует (пере) прочитать Руководство по управлению памятью для какао . Правила управления памятью для свойств такие же, как и для всех других объектов.

0 голосов
/ 24 апреля 2009

Если объект объявлен как:

@property(retain) NSString *prop;

Он освободит старое значение при назначении нового.

Тем не менее, убедитесь, что вы используете его и для метода dealloc:

- (void)dealloc {
    [prop release];

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