#iphone #objective-c
#iPhone #objective-c
Вопрос:
Нужно ли это @property (nonatomic, assign) int variable;
в файле .m? Если нет, есть ли причина, по которой вам не нужно его освобождать?
Ответ №1:
Да, есть веская причина не освобождать его — это не объект. И вам следует использовать @synthesize в вашей реализации (.m) и @property в вашем интерфейсе (.h).
Язык программирования Objective-C от Apple — отличное место для поиска ответов на подобные вопросы.
Комментарии:
1. извините, не могли бы вы подробнее остановиться на этом? Почему вы должны освободить все объекты из памяти, но не
int
ы?2. Проверьте ссылку — там намного подробнее.
3. int не наследуют NSObject, вот в чем причина.
4. @cfarm54: Вам нужно узнать о типах значений и объектах. Как правило, если это указатель (со звездочкой, как в
NSString *
), то это, скорее всего, объект (при использовании чистого Objective-C), который необходимо сохранить / освободить. Если этого не происходит, например, с помощьюint
,NSInteger
,NSRect/CGRect
и т.д., то это тип значения и его нельзя освободить.5. cfarm54: Типы значений хранят свое значение в самой переменной. Типы ссылок хранят указатель на свое значение. В случае Objective-C все экземпляры хранятся в куче и должны быть
release
общими, когда в них больше нет необходимости.
Ответ №2:
Вам нужно освободить только те переменные, которые вы выделили или использовали.