以编程方式创建 UIViewController 时覆盖 "prepare for segue"
overriding "prepare for segue" when programmatically creating a UIViewController
我有一个 UIView
,在里面我正在创建一个 UIViewController
:
class TopBarView: UIView {
var viewController: UIViewController?{
didSet{
print("a")
}
}
稍后在我的代码中,我正在执行 segue
使用:
if let vc = viewController {
vc.performSegue(withIdentifier: "imagesSegue", sender: nil)
}
我想传递一些参数给 UIViewController
我正在执行 segue
给。
我试图在 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")
Note: You can't use a segue if the vc is created programmatically
我有一个 UIView
,在里面我正在创建一个 UIViewController
:
class TopBarView: UIView {
var viewController: UIViewController?{
didSet{
print("a")
}
}
稍后在我的代码中,我正在执行 segue
使用:
if let vc = viewController {
vc.performSegue(withIdentifier: "imagesSegue", sender: nil)
}
我想传递一些参数给 UIViewController
我正在执行 segue
给。
我试图在 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")
Note: You can't use a segue if the vc is created programmatically