UIDocument を読み込んで、そのコンテンツ (ファイル ラッパーにラップされている) をすばやくプレビューしようとしています。私はこのコードを呼び出します:
-(void)previewLoadDocAtURL:(NSURL*)fileURL {
NSLog(@"... loading for preview: %@", [fileURL lastPathComponent]);
FRNBDocument *doc = [[FRNBDocument alloc] initWithFileURL:fileURL];
[doc openWithCompletionHandler:^(BOOL success) {
NSLog(@"... loaded for preview: %@", [doc.fileURL lastPathComponent]);
問題は、ログを取得するまでに 40 秒かかることもあれば、数ミリ秒しかかからないこともあります。40 秒は次のとおりです。
2012-06-27 13:58:31.612 Meernotes[4444:11303] ... loading for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
2012-06-27 13:59:11.870 Meernotes[4444:11303] ... loaded for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
数ミリ秒は次のとおりです。
2012-06-27 14:02:50.829 Meernotes[4510:11303] ... loading for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
2012-06-27 14:02:50.896 Meernotes[4510:11303] ... loaded for preview: NOTEBOOK-C759AD40-E6DE-4241-9E5A-22C458BEF8DA.MBOOK
なぜそうなのか、どうすれば40秒かかるのを防ぐことができますか?
編集
さらにテストを行いました。これは、ローカル ファイルをロードするときにシミュレータでのみ発生することが判明しました。おもしろいことに、シミュレーターを起動すると 40 秒かかります。次に、シミュレーターを再度開始します。数ミリ秒かかります。その後、シミュレーターを再度開始すると、40 秒かかります。など。これは実際にはバグのように見えます。私は最新の xCode 4.5 DP2 を使用しているので、バグを報告する時が来たと思います。