Как я могу убедиться, что ничего не получится автоматически выпущенным? - PullRequest
0 голосов
/ 27 августа 2010

Мне нужен способ создавать переменные, которые доступны в течение всего времени, когда мой пользовательский класс запускается при вызове функции release.Мне нужно сохранить NSDate и NSString.

Ответы [ 4 ]

2 голосов
/ 27 августа 2010

Отправьте переменной сообщение retain.

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

Autorelease просто запускает сообщение -release позднее.Если вы хотите, чтобы ваши переменные сохранялись, сохраните их, когда они назначены.Даже если они автоматически выпущены, ваше удержание будет увеличивать retainCount, поэтому они не будут освобождены.Просто обязательно выпустите их в ВАШЕМ сделке.

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

До [myObject retain] или @property(nonatomic, retain) MyClass *myObject;

0 голосов
/ 27 августа 2010

Дайте вашему пользовательскому классу сохранить свойства для каждой переменной в заголовочном файле:

@property (nonatomic, retain) NSDate *myDate;
@property (nonatomic, retain) NSString *myString;

Обязательно создайте правильные установщики и получатели или используйте @synthesize в своем файле реализации:

@synthesize myDate, myString;
...