微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

swift – 无法调用非函数类型UIAlertAction的值

我不确定这个功能有什么问题.我正在尝试提示用户是否要删除所选照片.

如果删除照片的功能返回错误,我想向用户显示错误.

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,completion: nil)
}

如果我拿出违规行,那么一切正常,只是用户无法解除警报

解决方法

固定它.更改:

errorController.addAction(UIAlertAction(title: "Ok",handler: nil))

至:

errorController.addAction(UIKit.UIAlertAction(title: "Ok",handler: nil))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐