Swift:解除viewController 1然后呈现viewController 2

时间:2016-11-17 09:59:05

标签: ios objective-c swift swift3

我想解除加载器视图控制器然后呈现UIDocumentInteractionController。我找到了一个客观的解决方案,但我想要一个Swift 3。

这是从answer

获取的Objective-c代码
// Does not break
[viewController1 dismissViewControllerAnimated:YES completion:^{
    [self presentViewController:viewController2 animated:YES completion:NULL];
}];

我在Swift 3中这样翻译:

 self.dismiss(animated: false, completion:{
                                self.docController = UIDocumentInteractionController(url: destinationUrl!)
                                self.docController!.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)

})

它工作正常,但我想确保Objective-c中的completion:^{表示Swift 3中的completion:{

1 个答案:

答案 0 :(得分:2)

是的,你的假设是正确的。虽然您不需要在Swift 3中明确地写完成。

你也可以写这样的东西。

self.dismiss(animated: false) { 
    self.docController = UIDocumentInteractionController(url: destinationUrl!)
    self.docController!.presentOpenInMenu(from: CGRect.zero, in: self.view, animated: true)
}