美文网首页
Swift 根据类名生成控制器并动态的给属性赋值(要保证类是已经

Swift 根据类名生成控制器并动态的给属性赋值(要保证类是已经

作者: Albert新荣 | 来源:发表于2021-09-18 14:42 被阅读0次
     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属性确实会崩溃.需要在跳转的控制器里面声明这个属性,才不会崩溃,我写的标题也不是动态的增加属性,而是动态的赋值,之前的标题有点让人误解已修改

    相关文章

      网友评论

          本文标题:Swift 根据类名生成控制器并动态的给属性赋值(要保证类是已经

          本文链接:https://www.haomeiwen.com/subject/zbxygltx.html