以编程方式创建 UIViewController 时覆盖"准备 segue"



我有一个UIView,在它里面我正在创建一个UIViewController:

class TopBarView: UIView {
var viewController: UIViewController?{
didSet{
print("a")
}
}

在代码的后面,我将使用执行segue

if let vc = viewController {
vc.performSegue(withIdentifier: "imagesSegue", sender: nil)
}

我想把一些参数传递给我正在执行segueUIViewController

我试图在viewcontroller的定义中添加一个"prepare for segue"定义,所以它看起来像这样:

class TopBarView: UIView {
var viewController: UIViewController?{
didSet{
print("a")
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
}
}

然而,我犯了一个错误——这样的事情可能是做不到的。

如何将所需的参数传递到新的UIViewController中?

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
/////
}

应该在分配给var viewController: UIViewController?的vc中,并使用sender参数发送任何数据

vc.performSegue(withIdentifier: "imagesSegue", sender:"someStr")

注意:如果vc是以编程方式创建的,则不能使用segue

相关内容

  • 没有找到相关文章

最新更新