当前位置: 首页 > 面试题库 >

Swift中的UIAlertView,获取EXC_BAD_ACCESS

侯沈义
2023-03-14
问题内容

首先,我很清楚Xcode
6和Swift语言是Beta版本,容易出错。但是,这一特定功能似乎有些奇怪,因为到目前为止我尝试过的所有其他功能似乎都可以正常工作。

如果这不适合StackOverflow,我将很乐意删除该问题。

我已经开始使用Xcode 6 /
Swift(为发布做准备),与我想的相比,这是一种非常愉快的体验。话虽如此,在移植我喜欢做的“训练”风格的应用程序时,一个问题是由于EXC_BAD_ACCESS相关代码,我似乎无法生成UIAlertView

override func viewDidAppear(animated: Bool) {
    super.viewDidAppear(animated)

    var alert = UIAlertView(title: "Title", message: "Message", delegate: nil, cancelButtonTitle: "OK") // EXC_BAD_ACCESS here
    alert.show()
}

在创建UIAlertView的行中,我得到了一个EXC_BAD_ACCESS因为[UIAlertView retain]在已释放实例上被调用。

再次,我将其归为beta横幅,但很好奇我是否做错了什么,或者是否有人遇到类似问题。


问题答案:

试试下面的代码

let alert = UIAlertView()
alert.title = "Title"
alert.message = "My message"
alert.addButtonWithTitle("Ok")
alert.show()

但是在iOS 8中

UIAlertView不推荐使用。因此,使用UIAlertControllerpreferredStyleUIAlertControllerStyleAlert。它应该是:

var alert = UIAlertController(title: "Title", message: "Message", preferredStyle: UIAlertControllerStyle.Alert)
alert.addAction(UIAlertAction(title: "Ok", style: UIAlertActionStyle.Default, handler: nil))
self.presentViewController(alert, animated: true, completion: nil)

检查上面的代码,您是否遇到相同的错误?



 类似资料:
  • 问题内容: 当我迅速运行此代码时,我不知道为什么应用程序会在“ alertView.show()”部分显示一个断点而终止,请有人帮帮我。 问题答案: 从Xcode 6.0 UIAlertView类: 不推荐使用UIAlertView。改用UIAlertController和UIAlertControllerStyleAlert的preferredStyle。 在Swift(iOS 8和OS X 1

  • 问题内容: 我一直在努力在Swift中创建UIAlertView,但由于某种原因,由于出现此错误,我无法正确执行该语句: 找不到接受提供的参数的’init’的重载 这是我的写法: 然后调用它,我正在使用: 截至目前,它崩溃了,我似乎无法正确理解语法。 问题答案: 从班级: //不推荐使用UIAlertView。改用 UIAlertController 和UIAlertControllerStyle

  • 我一直在Swift中创建一个UIAlertView,但由于某种原因,我无法得到正确的语句,因为我得到了以下错误: 找不到接受所提供参数的“init”的重载

  • 问题内容: 在我的应用程序中,我想要一个带有文本字段的警报。单击“完成”后,我想将文本字段输入保存为字符串。单击“取消”后,我只想关闭警报。我创建了这样的警报: 警报如下所示: 我想知道如何从文本字段中获取文本,以及如何为“完成”按钮和“取消”按钮创建事件。 问题答案: 您可以使用UIAlertController而不是UIAlertView。 我已经使用UIAlertController实现和测

  • 问题内容: 如何快速获取rightbarbuttonItem的框架?我发现了这一点:UIBarButtonItem:如何找到它的框架?但是它说不能将NSString转换为UIView,或者不能将NSString转换为String: 目标是删除rightBarButtonItem,添加一个imageView,然后使用fadeOut效果对其进行移动。 谢谢 问题答案: 您应该像这样尝试: 编辑(快速3

  • 问题内容: 我使用WKWebView登录到一个网站,现在我想解析该网站的html。如何快速访问HTML网站?我知道它如何用于UIWebView但不适用于WKWebView。 谢谢你的帮助! 问题答案: 如果您等到页面加载完毕,则可以使用: 您还可以注入一些JavaScript,使您返回HTML。 您可以注入的javascript如下所示: