Почему ты спишь? Когда вы спите, вы блокируете пользовательский интерфейс, а также любую фоновую загрузку URL не в других потоках (асинхронные методы NSURL по-прежнему работают в текущем потоке).
Скорее всего, то, что вы действительно хотите - это executeSelector: withObject: AfterDelay Это метод в NSObject, который можно использовать для вызова метода через некоторый заранее заданный интервал позже - он планирует вызов, который будет выполнен позже, но все остальные вещи, которые обрабатывает поток (например, пользовательский интерфейс и загрузка данных), будут все еще продолжай.