在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
的值没有这样的成员联系人。
答案 0 :(得分:3)
将其发布到您的子类化视图控制器中。假设您的联系方式视图控制器的类名称为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)
}