1

我有一个UIButton包含以下代码的单视图控制器:

import UIKit

class ViewController: UIViewController {

    required init?(coder: NSCoder) {
        super.init(coder: coder)
    }
    
    
    @IBSegueAction
    func makeAnotherController(coder: NSCoder, sender: Any?, segueIdentifier: String?) -> ViewController? {
        return ViewController(coder: coder)
    }
}

根据Apple 的文档,这是 a 的正确签名@IBSegueAction,并且可以编译,但是我无法@IBSegueAction通过从情节提要场景拖动到助手编辑器来将按钮连接到。

我可以毫无问题地连接到其他渠道或行动。

有什么想法吗?Xcode 11 错误还是我做错了什么?


更新

简而言之,Apple 的文档说……</p>

在源视图控制器上创建从 segue 到 @IBSegueAction 方法的连接。在支持 Segue Actions 的新 OS 版本上,将调用该方法……IBSegueAction 方法最多需要三个参数:编码器、发送者和 segue 的标识符。第一个参数是必需的,如果需要,可以从方法的签名中省略其他参数

我无法完成第一步(创建连接)

4

1 回答 1

2

这是我对 Apple 文档的误解。当他们说……</p>

在源视图控制器上创建从 segue 到 @IBSegueAction 方法的连接。

它们的字面意思是从代表 segue 的线拖动到视图控制器。

于 2019-09-19T06:47:44.590 回答