gpt4 book ai didi

ios - 在加载 View 之前从 iCloud 加载文档

转载 作者:行者123 更新时间:2023-11-28 22:55:10 33 4
gpt4 key购买 nike

我在 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];
}];
...
}

在这里,我将所有图像一张一张地收集到 NSMutableArray *arrayOfImages 中,然后在 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath 中使用该数组: (NSIndexPath *)indexPath 方法。但是它们没有显示在表格中,因为它们是在另一个线程中下载的。如何解决这个问题并仅在下载图像或设置默认图像后才开始显示 UITableView?

最佳答案

我最近遇到了同样的问题。我没有等到图像下载完毕才加载 View ,而是在桌面上显示了一个进度指示器。然后当图像加载时,我向 View 发送了一个 NSNotification,通知它删除进度指示器并加载数据。

通过这种方式,您可以让您的 UI 保持响应,并向用户显示实际正在加载的内容。如果您需要我提供更多技术细节,请告诉我。

关于ios - 在加载 View 之前从 iCloud 加载文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10947606/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com