Re: [問題] XCode5 測試連續建立UIDocument會失敗

看板MacDev作者 (小朱)時間11年前 (2013/10/06 06:42), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/4 (看更多)
我在使用非同步的控制也有相同問題的經驗, 不過我用的是 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,
Days matter 倒數忌日都有
09/17 14:40

09/17 14:41,
記日
09/17 14:41

09/17 14:44,
一樓我知道是輸入法問題 不過我還是忍不住笑了
09/17 14:44

09/17 14:46,
1F好嚇人阿XD
09/17 14:46
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 58.114.179.66
文章代碼(AID): #1IK9NFhP (MacDev)
文章代碼(AID): #1IK9NFhP (MacDev)