Переменная, возвращающая ноль после выполнения блока

Я отправляю очередь для загрузки некоторых фотографий flickr в отдельном потоке (в viewWillAppear). Когда я регистрирую содержимое массива внутри блока, он показывает все отлично:

    dispatch_queue_t photoDowonload=dispatch_queue_create("photoDownload", NULL);
dispatch_async(photoDowonload, ^{

    NSArray *photoList=[FlickrFetcher topPlaces]; //downloads flickr data
    self.listOfCities=photoList;
    NSLog(@"inside block: %@", self.listOfCities); //shows contents

});

но когда я пытаюсь записать массив, который был установлен внутри блока за пределами блока, он возвращает ноль.

    dispatch_queue_t photoDowonload=dispatch_queue_create("photoDownload", NULL);
dispatch_async(photoDowonload, ^{

    NSArray *photoList=[FlickrFetcher topPlaces];
    self.listOfCities=photoList;

});

    NSLog(@"after block: %@", self.listOfCities); //returns null

Какие'проблема здесь? self.listOfCities устанавливается как свойство NSArray, поэтому как толькоs установлен в блоке, он должен быть доступен за его пределами.

Ответы на вопрос(3)

Ваш ответ на вопрос