Xcode 11 beta 3 上 UIAction 的语法

Posted

技术标签:

【中文标题】Xcode 11 beta 3 上 UIAction 的语法【英文标题】:Syntax for UIAction on Xcode 11 beta 3 【发布时间】:2019-07-03 16:06:02 【问题描述】:

Xcode 11 beta 3 不再接受此代码来实例化UIAction

let action = UIAction(__title: "title", image: someImage, options: [])  _ in
    // some action

documentation 中也没有任何内容。

我发现 a post on Apple Developer Forums 描述了同样的问题以及现在接受的语法,但它会导致运行时错误:

let action = UIAction(__title: "title", image: someImage, identifier: nil, handler:  _ in
    // some action

+[UIAction actionWithTitle:image:identifier:handler:]: unrecognized selector sent to class 0x7fffa1b30178

还有这个新参数identifier,但是我找不到任何关于如何使用它的文档。

有没有人能够成功地将UIAction 与 Xcode 11 beta 3 一起使用?

【问题讨论】:

【参考方案1】:

我看不出您从哪里获得 options 参数。这可以使用 Xcode 11 beta 3 在我的机器上编译和运行(没有崩溃):

    let action = UIAction(__title: "Howdy", image: nil, identifier: nil) 
        _ in
    

【讨论】:

也许您安装的 Xcode 11 beta 3 或模拟器有缺陷?为了安全起见,我建议每次下载新版本的 Xcode 时删除所有模拟器并重新开始。 我在 iPad Pro 模拟器上试过了,效果很好!我认为问题出在我的 iPhone 7 Plus 上,它没有收到 ios 13 beta 3。 阅读发行说明很好:developer.apple.com/documentation/ios_ipados_release_notes/… iOS 13 beta 3 不适用于 iPhone 7 或 iPhone 7 Plus。 (52363318)【参考方案2】:

查看 WWDC https://developer.apple.com/videos/play/wwdc2019/224/ 并转到时间 44:46。

【讨论】:

以上是关于Xcode 11 beta 3 上 UIAction 的语法的主要内容,如果未能解决你的问题,请参考以下文章

xcodebuild 在 Xcode 11 beta 上挂起,在 Xcode 10 上成功

我现有的 TableViewController 在 Xcode 11 beta1 上崩溃

Xcode 11 beta 3 在同时使用 NavigationLink、@EnvironmentObject 和 List 时崩溃

未找到 SwiftUI 符号:_$s7SwiftUI9TextFieldVAA4ViewAAMc Xcode 11 beta 3

未安装自定义字体 - Xcode 11 beta

iPad 模拟器上的 SKScene 问题无法在 Xcode 11 beta 7 中填满屏幕