Управление памятью в target-C для автоматических свойств, заданных как (сохранить) - PullRequest
1 голос
/ 13 ноября 2010

Если я не использую сборщик мусора, и для меня установлено автоматическое свойство retain.Должен ли я освободить объект в моем dealloc или сработает ли сгенерированный код для меня.

Более ясно, произойдет ли утечка памяти в следующем коде, если я не выпустлю name в dealloc.

чел.ч

@interface Person : NSObject {
}
@property (retain) NSString* name;
@end

чел.м

#import "Person.h"

@implementation Person
@synthesize name;
@end

Ответы [ 2 ]

2 голосов
/ 13 ноября 2010

Атрибуты retain / assign / copy для @property влияют только на их поведение в методе получения и установки. Вам нужно вручную -release ивар в -dealloc.

0 голосов
/ 13 ноября 2010

да, это приведет к утечке памяти.

Вы должны освободить его вручную или в dealloc, чтобы предотвратить утечку памяти.

Вот еще один способ работы с этим ..

//. H file

@ interface Person: NSObject {

NSString * name;

}

@ конец

//. M file

импорт "Person.h"

@ Лицо, осуществляющее реализацию

- (Недействительными) ViewdidLoad

{

// Вы можете использовать это как self.name = [Nsstring StringWithFormat: @ ""];

} @ Конец

Спасибо Шьям Пармар

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