iCloudに画像があり、それらのUIDocumentをサブクラス化しました。ViewControllerがロードされた後、UITableViewに画像を表示したいと思います。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];
}];
...
}
ここでは、すべての画像を 1 つずつ収集しNSMutableArray *arrayOfImages
、その配列を- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
メソッドで使用しています。ただし、別のスレッドでダウンロードしているため、表には表示されません。画像がダウンロードされた後、またはデフォルトの画像が設定された後にのみ、それを修正して UITableView の表示を開始するにはどうすればよいですか?