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

UIAlertAction的编写处理程序

雍马鲁
2023-03-14
问题内容

我向UIAlertView用户展示了一个,但我不知道如何编写处理程序。这是我的尝试:

let alert = UIAlertController(title: "Title",
                            message: "Message",
                     preferredStyle: UIAlertControllerStyle.Alert)

alert.addAction(UIAlertAction(title: "Okay",
                              style: UIAlertActionStyle.Default,
                            handler: {self in println("Foo")})

我在Xcode中遇到很多问题。

该文件说 convenience init(title title: String!, style style: UIAlertActionStyle, handler handler: ((UIAlertAction!) -> Void)!)

目前,整个块/封盖都让我有些头疼。任何建议都非常感谢。


问题答案:

而不是将自己放在处理程序中,而应放置(提示:UIAlertAction!)。这应该使您的代码看起来像这样

    alert.addAction(UIAlertAction(title: "Okay",
                          style: UIAlertActionStyle.Default,
                        handler: {(alert: UIAlertAction!) in println("Foo")}))

这是在Swift中定义处理程序的正确方法。

正如Brian在下面指出的那样,还有更简单的方法来定义这些处理程序。书中讨论了使用他的方法的情况,请参见标题为“闭包”的部分。



 类似资料:
  • 我正在向用户呈现一个< code>UIAlertView,但我不知道如何编写处理程序。这是我的尝试: 我在Xcode中遇到了很多问题。 文档说

  • 我有一个UITableView,在委托(视图控制器)中,我已经实现了该函数 然后,我测试编辑样式 作为删除的一部分,我请求用户确认,如果他们选择“是”,与该行相关的项目将被删除,如果他们选择“否”,我将重置编辑样式。 我似乎遇到的问题是没有调用任何完成处理程序。我在其他地方使用过这种格式,没有任何问题。 该警报将显示标题、消息以及按钮“取消”和“是”。如果我点击其中任何一个,什么都不会发生。警报被

  • 如何在Swift中获取的处理程序。它是在初始化时设置的,但是我没有找到任何属性来保持动作的闭包。闭包是

  • 我正在尝试将我的UIAlertViews更改为UIAlertController。我为它设置了这个操作: 但是,处理程序直到动作被点击大约一秒钟后才运行。有什么方法可以加快速度吗?

  • 我只想确认UIAlertAction的处理程序是一个非转义lambda函数? 我做了ctrl右键单击并查找了UIAlertAction定义,默认情况下它看起来不像转义。这意味着我应该做 在所有UIAlertAction完成块中使用wself而不是self? 在UIKit下 其中处理程序未显示@escaping

  • 在本指南中,我们将从头开始建立属于自己的项目,使用 Kafka Streams 编写一个流处理应用程序。如果你还没阅读过 quickstart (在Kafka流中运行一个流应用程序)章节,我们强烈建议你先去阅读一下。 建立一个Maven项目 使用以下命令来创建具有 Kafka Streams 项目架构的 Maven 原型: mvn archetype:generate \ -Darchety