シンプルなUITableViewがあり、各セルには、ユーザーがiOSデバイスのカメラで撮影した可能性のあるサムネイル画像があります。
iCloudが有効になっている場合、画像はiCloudに保存されます。ただし、画像の読み込み時に何らかのキャッシュが発生するのではないかと思っていました。最初の読み込みが遅いことに気付いたため、画面にセルが表示されたときにコードを再度呼び出しても、画像は非常に速く表示されます。
これは関連するコードフラグメントです。セルを構築するためのロジックを省略しました。質問は他の側面に関するものであるため、関連性はないと思います。
- (UITableViewCell *)tableView:(UITableView *)table cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// logic for retrieve data and build cell
NSURL *ubiquityUrl = [fm URLForUbiquityContainerIdentifier:nil];
NSURL *docURL = [ubiquityUrl
URLByAppendingPathComponent:[NSString stringWithFormat:@"P_%@_%@.jpg",imgId,@"thumbnail"]
isDirectory:NO];
// this a custom object extending UIDocument
IP2DataDocument *dataDocument = [[IP2DataDocument alloc] initWithFileURL:docURL];
[dataDocument openWithCompletionHandler:^(BOOL success) {
if (success) {
NSLog(@"iCloud document opened");
// logic for filling table cell picture
} else {
NSLog(@"failed opening document from iCloud");
}
}];
// returning cell
}
セルが表示されるたびに、Xcodeで「iCloudドキュメントが開かれました」と表示されます。ある種のキャッシュが発生した場合、どこでどのように指摘できますか?