我的应用程序是基于文档的应用程序我使用UIViewController子类EditViewsController在我的自定义UIDocument对象的帮助下呈现保存的内容。是否安全地关闭viewController而不关闭文档Object
EditViewsController看起来像下面
轻击左上角的关闭按钮,将触发以下方法
-(IBAction)closeForm:(id)sender
{
// _formDocument is my UIdocument subclass Object
[_formDocument closeWithCompletionHandler:^(BOOL completion){
[self dismissViewControllerAnimated:YES completion:nil];
}];
}
我的问题是,当调用该方法closeWithCompletionHandler
我的应用程序在关闭之前冻结一段时间。
我的问题是,关闭视图控制器没有关闭文件是正确的(只需调用dismissViewControllerAnimated:
里面的烧制方法),或者我必须在后台线程中运行该方法以摆脱 冻结?
completionHandler块似乎是调用后台线程,因为所有UIKit事件都必须在主线程上发生,所以需要在主线程上调用dismissViewController。 – ldindu