我有一个UIView
,在它里面我正在创建一个UIViewController
:
class TopBarView: UIView {
var viewController: UIViewController?{
didSet{
print("a")
}
}
在代码的后面,我将使用执行segue
if let vc = viewController {
vc.performSegue(withIdentifier: "imagesSegue", sender: nil)
}
我想把一些参数传递给我正在执行segue
的UIViewController
。
我试图在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