Не совсем.
NSArray *array = [stuff allKeys];
Это дает вам массив, который вам не принадлежит.Является ли это технически копией или нет, это не ваша проблема.Поскольку средство доступа не начинается со слова «alloc» или «new» или содержит слово «copy», вы не владеете возвращаемым значением, что означает, что вам не нужно его выпускать.(Но вам нужно сохранить его, если вы хотите сохранить его.)
Если вы позже сделаете это:
array = [newStuff allKeys];
это нормально.Как вы знаете, это растоптало исходную ссылку, но так как вы не владеете этой ссылкой в любом случае, все в порядке, чтобы отпустить ее.Эта новая ссылка также, конечно, не ваша, если вы не сохраните ее.