let c = NSClassFromString(“类名”)! as! UIViewController.Type
let vc = c.init()
if (taskModel?.inviteCode?.isEmpty == false) {
vc.setValue(taskModel?.inviteCode, forKey: "inviteCode")
}
vc.hidesBottomBarWhenPushed = true
self.navigationController.pushViewController(vc, animated: true)
1.根据类名创建控制器
2.控制器有个属性叫做inviteCode,
使用vc.setValue(taskModel?.inviteCode, forKey: "inviteCode")给这个属性复制
对于以下的评论做一下解释和答疑
你确定setValue赋值在swift中运行不崩溃吗? 不要误人子弟
答:如果要跳转的控制器没有声明inviteCode属性确实会崩溃.需要在跳转的控制器里面声明这个属性,才不会崩溃,我写的标题也不是动态的增加属性,而是动态的赋值,之前的标题有点让人误解已修改
网友评论