[英]How to dismiss modal ViewController from UIAlertcontroller
[英]How to properly dismiss modal viewcontroller with completion handler
我有viewController1
和viewController2
,它是modaly呈現的,我想在解雇第二個時使用完成處理程序,但我無法獲得實現。 我以為我必須編寫一個函數並將其放在那里:
viewController.dismissViewControllerAnimated(true, completion: funcToCall())
但后來我收到這個錯誤:
無法將類型'()'的值轉換為預期的參數類型'(() - > Void)?'
任何人都可以解釋我,我怎樣才能正確執行完成處理程序?
很簡單,將funcToCall()
作為completion
參數傳遞(重要說明 - 我在這里使用花括號):
viewController.dismissViewControllerAnimated(true, completion: {
funcToCall()
})
completion
參數文檔:
解除視圖控制器后執行的塊。 該塊沒有返回值,不帶參數。 您可以為此參數指定nil。
只需刪除括號並將函數名稱作為參數傳遞,如下所示:
viewController.dismissViewControllerAnimated(true, completion: funcToCall)
只要函數funcToCall
的type ()->Void
就行,這就可以工作
func funcToCall() {
// do something
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.