Вам нужно освободить @property?

#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:

Вам нужно освободить только те переменные, которые вы выделили или использовали.