Загрузить документ из iCloud перед загрузкой представления

У меня есть изображения на iCloud, и я подкласс UIDocument для них. Теперь я хочу отобразить изображения на UITableView после загрузки ViewController. Поэтому я добавил этот код внутри viewDidLoad метод

- (void)viewDidLoad    
    {
        ...
              iCloudImage *iClImage = [[iCloudImage alloc] initWithFileURL:ubiquitousPackage];
              [iClImage openWithCompletionHandler:^(BOOL success) {
                if (success) {                
                    NSLog(@"iCloud document opened");
                    dataFromFileManager = [iClImage.imageDictionary objectForKey:img.fileName];
                    imageToDraw = [[[UIImage alloc] initWithData:dataFromFileManager] autorelease];
                } else {                
                    NSLog(@"failed opening document from iCloud");    
                    imageToDraw = [UIImage imageNamed:@"defaultImage.jpg"];
                }
                [arrayOfImages addObject:imageToDraw];
            }];
        ...
    }

Здесь я собираю все изображения один за другим в NSMutableArray *arrayOfImages а затем использовать этот массив в - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath метод. Но они не отображаются в таблице, потому что они загружаются в другом потоке. Как я могу это исправить и начать показывать UITableView только после загрузки изображений или установки изображений по умолчанию?

1 ответ

Решение

У меня недавно была такая же проблема. Я не ждал загрузки представления, пока изображения не были загружены, но вместо этого отобразил индикатор прогресса на столе. Затем, когда изображения действительно загрузились, я отправил NSNotification в представление, которое информировало его об удалении индикатора прогресса и загрузке данных.

Таким образом, вы сохраняете свой интерфейс отзывчивым и показываете пользователю, что что-то действительно загружается. Дайте мне знать, если вам понадобится более подробная техническая информация.

Другие вопросы по тегам