在Swift中将对象传递给ViewController

用户名

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没有这样的成员联系。

拉特·沙克(Ratul Sharker)

将其转换为您的子类化视图控制器。说您的联系方式视图控制器类名称为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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章