У меня есть изображения на iCloud и я подклассифицировал UIDocument для них. Теперь я хочу отображать изображения в UITableView после загрузки ViewController. Поэтому я добавил этот код внутри метода viewDidLoad
Загрузка документа из iCloud перед представлением будет загружена
- (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 только после загрузки изображений или установки изображений по умолчанию?