在Swift

时间:2018-11-19 02:59:33

标签: ios swift uiviewcontroller

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

值没有这样的成员联系人。

1 个答案:

答案 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)
}