从 UITableViewCell 上的按钮显示 UIAlertController

Show an UIAlertController from a button on an UITableViewCell

这是我在 UITableViewCell.

中的按钮内编写的代码
var shareAlert = UIAlertController(title: "Post Alert", 
    message: "Your Post has been Shared with your Friends", 
    preferredStyle: UIAlertControllerStyle.Alert)

var Ok = UIAlertAction(title: "Ok", 
    style: UIAlertActionStyle.Default, 
    handler: nil)

shareAlert.addAction(Ok)
shareAlert.presentViewController(shareAlert, animated: true, completion: nil)

当用户单击按钮时,我希望它显示此警报,但应用程序在我单击按钮后立即崩溃。我做错了吗?如何通过 UITableViewCell 中的按钮显示警报视图?

您可以使用 UIAlertView 而不是 UIAlertController,如下所示:

 var alert = UIAlertView(title: "Post Alert", message: "Your Post has been Shared with your Friends", delegate: nil, cancelButtonTitle: "Ok")
 alert.show()

文档: https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UIAlertView_Class/index.html

注:

UIAlertView 在 iOS 9.

中已弃用

请检查:

可以调用此文件中的alertShow函数顺便显示简单的信息:

 Utility.UI.alertShow("message", withTitle: "title", viewController: self)

因为这条线崩溃了

shareAlert.presentViewController(shareAlert, animated: true, completion: nil)

控制器不能显示自己,所以

替换

shareAlert.presentViewController(shareAlert, ...) 

来自

yourCurrentViewController.presentViewController(shareAlert, ...)

并且您不应该使用 UIAlertView,因为它在 iOS 9 中已被弃用,并且可能在下一个 iOS 中被废弃,因此使用 UIAlertController 并且您在不久的将来不必更改它