Tom*_*ing 9 cocoa objective-c nsfilecoordinator nsfilepresenter
我正在设置NSFileCoordinator并NSFilePresenter在我的应用程序中,因此我可以安全地从AppleWatch应用程序执行文件IO.在我的代码中有一些地方我快速连续几次写入文件.这本身就是一个问题,我正在努力纠正它,但我注意到这个过程中有些奇怪的行为.
我像这样包装我的写作:
//In a class that implements NSFilePresenter:
NSFileCoordinator *coord = [[NSFileCoordinator alloc]initWithFilePresenter:self];
[coord coordinateWritingItemAtURL:self.presentedItemUrl options:0 error:nil byAccessor:^(NSURL *url)
{
//do my writing here using CFWriteStreamRef or NSOutputStream
}];
Run Code Online (Sandbox Code Playgroud)
在第一次写入时,写入块在1 ms内发生.但在那之后,调用coordinateWritingItemAtURL和正在执行的写入块之间大约有0.5秒的延迟.
这是预期的行为吗?
一些文档用于批处理操作NSFileCoordinator并且NSFilePresenter说prepareForReadingItemsAtURLs:writingItemsAtURLs:options:error:byAccessor:用于批处理操作,但是当我不进行批处理时,得到如此长的延迟似乎很奇怪.
更新:这也发生在阅读上.
更新2: 这是一个重现问题的示例项目.
在某些情况下是否可以使用NSFileCoordinatorReadingImmediatelyAvailableMetadataOnly读取和NSFileCoordinatorWritingContentIndependentMetadataOnly写入选项?看起来这个 iOS8 选项可以帮助你。
| 归档时间: |
|
| 查看次数: |
840 次 |
| 最近记录: |