Я хочу установить для объекта значение «ноль» при перечислении массива следующим образом:
for(Object* object in array){
object = nil;
}
Затем Xcode сообщает мне: «Переменные быстрого перечисления не могут быть изменены в ARC по умолчанию; объявите переменную __strong, чтобы разрешить это.
Что означает сделать это:
for(Object __strong* object in array){
object = nil;
}
Это кажется излишним. Насколько я понимаю, объявление строгой ссылки на объект увеличивает его счетчик сохранения на единицу, а обнуление уменьшает счетчик удержания на единицу. Так как же мне установить объект в nil
при перечислении через массив?
Я использую АРК.
removeAllObjects
для массива, я не знаю точно, освобождается ли память, так как я не совсем уверен, что объекты ссылаются где-то еще. - person Fitzy   schedule 08.01.2013removeAllObjects
. Пусть другие объекты, которым нужно содержимое массива, сами занимаются управлением своей памятью. - person jscs   schedule 08.01.2013