作者darktt (小朱)
看板MacDev
标题Re: [问题] XCode5 测试连续建立UIDocument会失败
时间Sun Oct 6 06:42:17 2013
我在使用非同步的控制也有相同问题的经验,
不过我用的是 NSArray enumerateObjectsUsingBlock: ,它也是采用非同步的方式,
我使用这个是要将选到的多个档案透过网路上传某个地方,
因为上传的时候必须要一个一个传,所以这时後因为非同步的关系,
全部档案都一起上去了。
简单介绍到此为止,
我想说的是,你想等待非同步做完才回传的话,你只能利用 block 做回传的动作,
我测试过的用 while 与 NSLock 都没有作用,
尤其是 while 在 compiler 的过程中为了避免造成无穷回圈,所以做了点手脚,
所以你该做的是将 UIManagedDocument 的 saveToURL:forSaveOperation: 回传的 block
接上自己的做的 block 才行。
像是这样子
- (void)createTestDocumentWithResultBlock:(void (^) void)resultBlock
{
NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
url = [url URLByAppendingPathComponent:@"TestDocument"];
self.document = [[UIManagedDocument alloc] initWithFileURL:url];
[self.document saveToURL:url forSaveOperation:UIDocumentSaveForCreating
completionHandler:^(BOOL success){
if (success) {
resultBlock();
NSLog(@"Create document successfully");
}
}];
}
之後在 block 接第二次与第三次的建立就好了。
--
#1ID_Wqk2 (iPhone) [ptt.cc]
[问题] 记录天数的app
1F:推 xinya707:Days matter 倒数忌日都有 09/17 14:40
2F:→ xinya707:记日 09/17 14:41
3F:→ Decill:一楼我知道是输入法问题 不过我还是忍不住笑了 09/17 14:44
4F:→ happyfuture:1F好吓人阿XD 09/17 14:46
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 58.114.179.66