在Objective-C
如果你需要一个对象传递给一个ViewController
你可以这样做:
在目标.h文件中
@property NSObject * contact;
在发送.m文件
MyVC *destVC = [self.storyboard instantiateViewControllerWithIdentifier:@"myVC"];
destVC.contact = contact;
[self.navigationController pushViewController:destVC animated:YES];
我正在尝试使用以下代码在Swift中执行此操作:
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let destVC = storyBoard.instantiateViewController(withIdentifier: "contactDetail")
//Following line causes error
//destVC.contact = latestContact
self.navigationController!.pushViewController(destVC, animated: true)
VC启动正常,但是当我尝试将其传递给变量时,destVC.contact = latestContact
编译器说
类型的值
ViewController
没有这样的成员联系。
将其转换为您的子类化视图控制器。说您的联系方式视图控制器类名称为ContactDetailsViewController
let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
if let destVC = storyBoard.instantiateViewController(withIdentifier: "contactDetail") as? ContactDetailsViewController {
destVC.contact = latestContact
self.navigationController!.pushViewController(destVC, animated: true)
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句