gpt4 book ai didi

ios - Storyboard?.instantiateViewController(withIdentifier : "") as! viewcontroller

转载 作者:行者123 更新时间:2023-11-30 12:09:02 28 4
gpt4 key购买 nike

我的自定义导航栏中有一个菜单表格 View 。如果我单击一个单元格,它应该将我带到另一个 View Controller 。但是当我点击它时我的应用程序崩溃了。

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {

return menu_items.count //It has 5 values
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = UITableViewCell(style: UITableViewCellStyle.value1, reuseIdentifier: "cell")

cell.textLabel?.text = menu_items[indexPath.row]
cell.textLabel?.textColor = .white

return cell
}

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {


let item = menu_items[indexPath.row]

if (item == "Patienten") {


tableView.removeFromSuperview()

let vc = self.storyboard?.instantiateViewController(withIdentifier: "patientView") as! patientViewVC //App crashes here
self.present(vc, animated: false, completion: nil)

} else if (item == "Mitarbeiter") {


} else if (item == "Kalender") {


} else if (item == "Tourenplanung") {


tableView.removeFromSuperview()

let vc = storyboard?.instantiateViewController(withIdentifier: "tour") as! tourVC //App crashes here
self.present(vc, animated: false, completion: nil)


}else if (item == "Abmelden") {

let vc = self.storyboard?.instantiateViewController(withIdentifier: "loginvc") as! LoginVC //App crashes here
self.present(vc, animated: false, completion: nil)
}


let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)!
selectedCell.contentView.backgroundColor = colorLightGreen

}

}

我已经多次验证所有标识符名称和 View Controller 名称是否正确。

最佳答案

确保在实例化 viewController 之前加载正确的 Storyboard。

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let item = menu_items[indexPath.row]

if (item == "Patienten") {
tableView.removeFromSuperview()

let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "patientView") as! patientViewVC
self.present(vc, animated: false, completion: nil)

} else if (item == "Mitarbeiter") {


} else if (item == "Kalender") {


} else if (item == "Tourenplanung") {


tableView.removeFromSuperview()
let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "tour") as! tourVC //App crashes here
self.present(vc, animated: false, completion: nil)


}else if (item == "Abmelden") {
let storyBoard = UIStoryboard(name: "StoryboardName", bundle: nil)
let vc = storyBoard.instantiateViewController(withIdentifier: "loginvc") as! LoginVC //App crashes here
self.present(vc, animated: false, completion: nil)
}


let selectedCell:UITableViewCell = tableView.cellForRow(at: indexPath)!
selectedCell.contentView.backgroundColor = colorLightGreen

}

上面的StoryboardName是包含病人ViewVC、tourVC、LoginVC的 Storyboard的名称

关于ios - Storyboard?.instantiateViewController(withIdentifier : "") as! viewcontroller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295943/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com