Вы создаете запрос, используя requestWithURL:cachePolicy:timeoutInterval:
. Поскольку имя этого метода не начинается с «alloc» или «new» или содержит «copy», в соответствии с Правилами управления памятью вы не владеете им и не должны его выпускать (если только вы вызовите, сохраните это явно, конечно).
Что касается эффективности, код выглядит нормально. Обратите внимание, что если пользователь может запустить вторую загрузку до завершения первой, у вас будут проблемы; решение этой проблемы состоит в том, чтобы либо предотвратить такую вещь, либо сохранить объект NSURLConnection, созданный в load
, в ivar, а затем с помощью методов псевдо-делегата проверить это на предмет переданного соединения, прежде чем делать что-либо еще. Также хорошей идеей будет установить значение ivar равным nil, когда вы отпустите объект, который он ранее содержал, так как тогда вы не сможете случайно использовать выпущенный объект. И я отмечаю, что имя переменной для вашего предупреждения «сбой аутентификации» - alertsuccess
, это вводит в заблуждение;)