Не совсем уверен, что этот код должен выполнить. Кажется, он нарушает все соглашения о методах инициализации. Какой смысл возвращать пустой указатель из метода инициализации? Весь смысл метода инициализации - вернуть объект. Где в примерах кода Apple вы видели это?
Сказав это, я не понимаю, почему это протекает. Так как он не возвращает объект, нет ничего, что могло бы вытечь наружу по отношению к методу. Внутри может быть что-то, что просачивается.
Edit:
Это в основном делает NSURLConnection.
Потому что мы представляем много
формы с множеством разных значений
мы помещаем это во внешний класс. Все
методы делегата, такие как
didFailWithError: находятся в NSURLRequest
и connectionDidFinishLoading просто
передает данные своему делегату. Так что
не нужно ничего возвращать
как это делается через делегата
Метод.
Да, тебе нужно изменить это. В настоящее время этот метод - просто катастрофа, ожидающая своего появления Если не что иное, все остальные, глядя на этот код, будут крайне смущены тем, что вы делаете.
Если вам не нужно сохранять созданный объект, то перенесите его размещение и очистите полностью внутри метода. Измените префикс имени метода с «initialize» на что-то вроде «setup», «configure», «acqu» и т. Д., Чтобы имя не подразумевало, что оно создает и возвращает объект.
Если вам нужен экземпляр одного класса определенного класса, используйте метод класса, как предложил Майкл Аарон Сафян (снова без инициализации в имени.) Метод класса должен внутренне инициализировать экземпляр, выполнить необходимые операции, вернуть данные куда угодно, затем освободите экземпляр.
Таким образом, вам не придется беспокоиться о утечках, и все остальные, кто может читать ваш код (включая вас в течение нескольких месяцев), сразу поймут, что делает код.