2016-11-17 74 views
-4

我想關閉裝載程序視圖控制器,然後顯示一個UIDocumentInteractionController。我找到了一個客觀的c解決方案,但我想要Swift 3。Swift:關閉viewController 1,然後顯示viewController 2

這是從這個answer採取的Objective-C代碼:

// Does not break 
[viewController1 dismissViewControllerAnimated:YES completion:^{ 
    [self presentViewController:viewController2 animated:YES completion:NULL]; 
}]; 

我在斯威夫特3翻譯是這樣的:

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

}) 

它工作正常,但我想肯定的是, completion:^{ in objective-c表示Swift 3中的completion:{

+1

是的,他們都是一樣的 –

+0

謝謝@AlexCheng –

回答

1

是的,您的假設是正確的。雖然你不需要在Swift 3中明確寫出完成。

你也可以寫這樣的東西。

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