【发布时间】:2016-09-26 16:23:02
【问题描述】:
我不确定这个函数有什么问题。我正在尝试显示一条警报,询问用户是否要删除所选照片。
如果删除照片的函数返回错误,我想向用户显示该错误。
Xcode 在 errorController.addAction 行失败并显示“无法调用非函数类型 UIAlertAction 的值”的消息
我正在使用 Swift 2
@IBAction func deletePhoto(sender: AnyObject) {
let alertController = UIAlertController(title: "Delete Photo", message: "Are you sure you want to delete this photo?", preferredStyle: .Alert)
let okAction = UIAlertAction(title: "OK", style: .Default) { UIAlertAction in
self.photoGateway!.delete(self.photo!.id!, completion: { (withError: Bool) -> Void in
if (withError == true) {
let errorController = UIAlertController(title: "Delete Failed", message: "blah", preferredStyle: UIAlertControllerStyle.Alert)
// The next line is causing the error
errorController.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(errorController, animated: true, completion: nil)
} else {
self.dismissViewControllerAnimated(true, completion: nil)
}
})
}
let cancelAction = UIAlertAction(title: "Cancel", style: .Cancel) { UIAlertAction in
print("Cancelled")
}
alertController.addAction(okAction)
alertController.addAction(cancelAction)
self.presentViewController(alertController, animated: true, completion: nil)
}
如果我删除了违规行,那么一切正常,只是用户无法解除警报
【问题讨论】:
标签: swift