3

似乎从未调用完成处理程序块。这是否意味着保存失败?我在控制台中 po self.document.fileURL,这似乎是有效的。

[self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {
// set breakpoint here, but it won't stop
            [[[Fetcher alloc]init] fetchImageFromSring:HTTP_REQUEST inContext:self.document.managedObjectContext];
        }];
4

1 回答 1

1

无论保存是否成功,都应调用完成处理程序块

关于苹果的completionHandler

completionHandler
保存操作结束时执行的代码块。该块不返回任何值,只有一个参数:
success
如果保存操作成功,则为 YES,否则为 NO。
在调用队列上调用此块。

你有没有在这一行设置断点以确保它运行

[self.document saveToURL:self.document.fileURL forSaveOperation:UIDocumentSaveForCreating completionHandler:^(BOOL success) {

编辑
我相信问题可能是您使用的是哪种类型的调试器。(来自this SO question)
确保您正在使用lldb

即使您不更改调试器,您也可以始终验证该块是否执行 NSLog(@"block is running, save successfully - %d", success)

于 2012-09-29T00:49:58.883 回答