OGeek|极客世界-中国程序员成长平台

标题: objective-c - UIDocument 无法再次关闭? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 21:44
标题: objective-c - UIDocument 无法再次关闭?

当一个 UIDocument 关闭时,它可以再次关闭吗?即使重新打开后它的documentState是UIDocumentStateNormal?

请帮助我。非常感谢!

[document openWithCompletionHandler:^(BOOL success) {
    if (success) {

        [document closeWithCompletionHandler:^(BOOL success) {
            if (success) {

                [document openWithCompletionHandler:^(BOOL success) {
                    if (success) {

                        NSLog(@"%d", document.documentState);

                        //Exception
                        [document closeWithCompletionHandler:^(BOOL success) {
                            if (success) {
                            } 
                        }];
                    } 
                }];
            } 
        }];
    } 
}];

在“异常”标记处调用closeWithCompletionHandler时,抛出异常:

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', 
reason: 'closeWithCompletionHandler called while document is already closing'



Best Answer-推荐答案


似乎每次实例化只能关闭一次 UIManagedDocument。

我遇到了这个问题,我没有重新打开同一个文档,而是创建了一个具有相同数据的新文档(使用自定义 initWith... 方法)。

然后您可以“重新关闭”文档的新实例。

请记住,文档的新实例将具有新的托管对象上下文,因此您可能不应该尝试使用原始文档中的托管对象。如果需要,在新实例中重新获取它们。

关于objective-c - UIDocument 无法再次关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9563949/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4