Re: [問題] XCode5 測試連續建立UIDocument會失敗
我在使用非同步的控制也有相同問題的經驗,
不過我用的是 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
推
09/17 14:40,
09/17 14:40
→
09/17 14:41,
09/17 14:41
→
09/17 14:44,
09/17 14:44
→
09/17 14:46,
09/17 14:46
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.179.66
討論串 (同標題文章)
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章