2

我正在尝试加载 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,所以我想是时候提交错误了。

4

1 回答 1

2

通常 iCloud 文件是按需下载的,因此如果您的文档在 iCloud 中并且之前从未打开过,则可能需要一段时间,这取决于您的互联网连接和文件大小:)

我注意到 iCloud 第一次加载某些内容时比平时多花几秒钟的时间。

最后,iCloud API 非常有问题。难怪在 iOS5/OSX10.7 中很少有官方应用采用它。但是不要过多地责怪苹果,毕竟这是他们的第一次迭代 :)

于 2012-06-27T13:16:12.447 回答