swift中的警报错误[重复]
Posted
技术标签:
【中文标题】swift中的警报错误[重复]【英文标题】:Alert error in swift [duplicate] 【发布时间】:2014-06-08 17:20:56 【问题描述】:我用 swift 和 Xcode 6 编写这段代码
@IBAction func Alert(sender : UIButton)
var alert : UIAlertView = UIAlertView(title: "Hey", message: "This is one Alert", delegate: nil, cancelButtonTitle: "Working!!")
alert.show()
Xcode 在编译时不显示错误。
但在模拟器中APP失败并返回错误:
(lldb)
thread 1 EXC_BAD_ACCESS(code 1 address=0x20)
【问题讨论】:
在我看来是个错误。 我在***.com/questions/24084521/…找到答案 【参考方案1】:UIAlertView 便捷初始化器的 Swift shim 中有一个错误,您需要使用普通初始化器
let alert = UIAlertView()
alert.title = "Hey"
alert.message = "This is one Alert"
alert.addButtonWithTitle("Working!!")
alert.show()
这种风格的代码感觉更符合 Swift 语言。便利初始化器对我来说似乎更客观-C'ish。只是我的看法。
注意:UIAlertView 已弃用(参见声明),但 Swift 支持 ios7,您不能在 iOS 7 上使用 UIAlertController
Xcode 中的 UIAlertView 声明视图
// UIAlertView is deprecated. Use UIAlertController with a preferredStyle of UIAlertControllerStyleAlert instead
class UIAlertView : UIView
仅适用于 Swift iOS 8 的警报
var alert = UIAlertController(title: "Hey", message: "This is one Alert", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Working!!", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)
Swift 4.2 更新
let alert = UIAlertController(title: "Hey", message: "This is one Alert", preferredStyle: UIAlertController.Style.alert)
alert.addAction(UIAlertAction(title: "Working!!", style: UIAlertAction.Style.default, handler: nil))
self.present(alert, animated: true, completion: nil)
【讨论】:
以上是关于swift中的警报错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 Swift 中显示警报视图会导致 EXC BAD ACCESS [重复]