首页 > instantiateViewControllerWithIdentifier方法构造后控件均为nil

instantiateViewControllerWithIdentifier方法构造后控件均为nil

  1. 使用instantiateViewControllerWithIdentifier方法构造ViewController,控件均为nil,下面这段代码是此视图一个控件的点击执行的闭包, StoryBoard获取到是正常的

  2. 另问这个界面就是一个EquipmentDetailViewController,我希望点击控件后进入另外一个相同的EquipmentDetailViewController并赋予不同的数据,有没有办法在StoryBoard中构建到自身的Segue

let storyBoard = UIStoryboard(name: "Equipment", bundle: NSBundle.mainBundle())
let equipmentDetailVC = storyBoard.instantiateViewControllerWithIdentifier("EquipmentDetailViewControllerID") as! EquipmentDetailViewController
equipmentDetailVC.setContent(CSVDataManager.sharedInstance.getEquipmentInfoByID(index)!)
equipmentDetailVC.navigationItem.rightBarButtonItem = UIBarButtonItem(title: "返回全部装备", style: .Plain, target: self, action: #selector(EquipmentDetailViewController.popToRoot))
self.navigationController?.pushViewController(equipmentDetailVC, animated: true)

Equipment.storyboard存在不,EquipmentDetailViewControllerID设了没有


你遇到的 instantiateViewControllerWithIdentifier 返回结果是 nil 的问题,没有具体的代码,不知道问题在哪里,一般来说如果 storyboard 是对的, storyboard 里 EquipmentDetailViewController 也设置了正确的 id,而且它本身的 class 也是 EquipmentDetailViewController 的话,应该就不会遇到这样的问题。

“我希望点击控件后进入另外一个相同的EquipmentDetailViewController并赋予不同的数据”
上面这个需求比较奇怪,如果是要进入到一个相同的 view controller 而只是数据不一样,这种情况为什么要进到一个新的 controller 里呢?还在同一个 controller 里,数据模型变化了,更新 view 就可以了。

【热门文章】
【热门文章】