2016-11-17 8 views
-4

Я хочу отклонить контроллер контроллера загрузчика, а затем представить UIDocumentInteractionController. Я нашел цель-c решение, но я хочу Swift 3.Swift: Dismiss viewController 1 then present viewController 2

Это Objective-C код взят из этого answer:

// 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) 

}) 

Он отлично работает, но я хочу быть уверен, что completion:^{ в объективе-c средства completion:{ в Свифт 3.

+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) 
} 
Смежные вопросы