Из документации NSURLConnection:
Для правильной работы соединения
цикл выполнения вызывающего потока должен быть
работает в цикле выполнения по умолчанию
режим.
и
Обратите внимание, что эти методы делегата будут
быть вызванным в теме, которая началась
операция асинхронной загрузки для
связанный объект NSURLConnection.
В вашем случае, вероятно, поток завершится до того, как ваш класс выполнит весь свой код.
Прочтите это, чтобы узнать, как запустить цикл выполнения:
http://www.depl0y.com/2009/02/20/nsurlconnection-in-its-own-thread/
Или создайте второй поток и вообще избегайте проблем с циклами выполнения, выполнив NSURLConnection sendSynchronousRequest:returningResponse:error
, для которого в вызывающем потоке не требуется никакой специальной потоковой или конфигурации цикла выполнения.
Не забудьте перезвонить в основной поток через performSelectorInMainThread: