@ BoltClock, я думаю, вы не совсем правы, когда говорите, что объект автоматически выпущен в образце 1.
В примере 2 переменной с именем url
присваивается объект, возвращаемый методом [NSUrl URLWithString:]
, что увеличивает его счетчик хранения на 1. Чтобы сбалансировать это, нам нужно release
. В примере 1 ссылка на объект напрямую передается получателю, и нам не о чем беспокоиться по поводу его счетчика хранения, следовательно, нет выпуска.
Обратите внимание, что мы не выпускаем автоматически, так как мы ничего не сохранили в первую очередь. «В коде, который автоматически высвобождается, нет переменной!»
Пожалуйста, поправьте меня, если я где-то концептуально ошибаюсь. И просто, чтобы завершить это, нет утечки ни в одном из образцов, и оба являются правильными способами сделать это.