如何正确解除带完成处理程序的模态viewcontroller

i6x*_*x86 3 uiviewcontroller ios swift

我有viewController1,viewController2哪个是modaly呈现,我想在解雇第二个时使用完成处理程序,但我无法获得实现.我以为我必须编写一个函数并将其放在那里:

viewController.dismissViewControllerAnimated(true, completion: funcToCall())
Run Code Online (Sandbox Code Playgroud)

但后来我收到这个错误:

无法将类型'()'的值转换为预期的参数类型'(() - > Void)?'

任何人都可以解释我,我怎样才能正确执行完成处理程序?

Evg*_*kan 11

很容易,funcToCall()作为completion参数传递(重要说明 - 我在这里使用花括号):

viewController.dismissViewControllerAnimated(true, completion: { 
    funcToCall()
})
Run Code Online (Sandbox Code Playgroud)

一个completion参数文件:

解除视图控制器后执行的块.该块没有返回值,不带参数.您可以为此参数指定nil.