我正在創建一個返回布爾值的函數。但斯威夫特顯示我的錯誤:iOS Swift:在顯示警告確認消息的函數中返回'Bool'
Missing return in a function expected to return 'Bool'
我的函數不直接返回一個「布爾」,它有一定的條件,比如,如果用戶點擊「確定」按鈕,那麼它應該返回true,如果「取消」,那麼返回false。有人可以告訴我如何解決這個問題?請看下面的代碼,供大家參考:
func showConfirmationAlert(title: String!, message: String!) -> Bool {
dispatch_async(dispatch_get_main_queue(), {
let alertController=UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.Alert)
let okButton=UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default) { (okSelected) -> Void in
return true
}
let cancelButton=UIAlertAction(title: "Cancel", style: UIAlertActionStyle.Cancel) { (cancelSelected) -> Void in
return false
}
alertController.addAction(okButton)
alertController.addAction(cancelButton)
if self.presentedViewController == nil {
self.presentViewController(alertController, animated: true, completion: nil)
}
})
}
一些事情,你需要確保你的方法的所有退出路徑也有一個布爾值真/假明確return語句。注意到你的函數結束時你沒有返回語句 – Shripada
因爲沒有任何條件可以讓我有返回語句。如果我在最後放置'return false',即使用戶點擊'OK',它也會一直返回false。 – laser2302