вопрос mgmt памяти о переменных-участниках — objective c

#iphone #objective-c

#iPhone #objective-c

Вопрос:

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

вопрос 1) у меня есть переменная-член типа nsstring, и у меня нет для нее никакого свойства, я использовал ее без self.xxx различными способами для доступа к ней. я не выделил никакой памяти для этой переменной, и мне нужно знать, должен ли я все еще освобождать ее в dealloc и присваивать nil в viewdidunload.

вопрос 2)

у меня есть переменная-член со свойством (неатомный, сохранять). я нигде не использовал этот доступный вне класса. для того, чтобы использовать его в различных методах класса, необходимо ли мне выделять для него память или он должен быть self.membervariable.

вопрос 3) Все ли iboutlet со свойством (неатомным, retain) требуют self.outlet=nil в viewdidunload и [выпуск розетки]; в dealloc;

вопрос 4) что насчет iboutlet без свойства, должен ли я делать outlet = nil в viewdidunload и [выпуск outlet]; в dealloc.

Ответ №1:

Пожалуйста, следуйте http://developer.apple.com/library/ios/#documentation/cocoa/conceptual/MemoryMgmt/Articles/mmPractical.html ссылка, чтобы узнать о лучших методах управления памятью.

Надеюсь, это поможет.

Комментарии:

1. большое вам спасибо. я просмотрел множество руководств по управлению памятью, подобных приведенным выше. чем больше я читаю, тем больше запутываюсь. наконец-то я разобрался с 4 вышеприведенными вопросами, которые я не понимаю. Не могли бы вы, пожалуйста, ответить на вышеуказанные 4 вопроса. мне было бы достаточно 2 строк ответа для каждого. большое вам спасибо.