我是Xcode的新手,我正在关注here教程,该教程介绍了如何添加手动设置。
https://github.com/AdditionAddict/learnXcode
问题:在模拟器中单击表格单元格时,不会触发手动选择。
我尝试过的操作:我添加了一个手动(自动)segue,一个标识符,而本教程在这一点上说到了这一点,选择了一个单元格,结果从表中移出查看单元格中的餐点细节场景,我继续执行代码部分,并且prepare
中的断点仍然没有触发。
// MARK: - Navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
super.prepare(for: segue, sender: sender)
switch(segue.identifier ?? "") {
case "AddItem":
os_log("Adding a new meal", log: OSLog.default, type: .debug)
case "ShowDetail":
// set the meal for the `MealViewController` as the meal selected in the `MealTableViewController`
os_log("Show detail of a meal", log: OSLog.default, type: .debug)
guard let mealDetailViewController = segue.destination as? MealViewController else {
fatalError("Unexpected destination, \(segue.destination)")
}
guard let selectedMealCell = sender as? MealTableViewCell else {
fatalError("Unexpected sender, \(String(describing: sender))")
}
guard let indexPath = tableView.indexPath(for: selectedMealCell) else {
fatalError("The selected cell is not being displayed by the table")
}
let selectedMeal = meals[indexPath.row]
mealDetailViewController.meal = selectedMeal
default:
fatalError("Unexpected Segue Identifier")
}
}
已检查:
如果仅出于调试目的,将以下内容放在断点处的MealTableViewController.swift
中,则在单击表格单元格时没有任何反应:
override func shouldPerformSegue(withIdentifier identifier: String, sender: Any?) -> Bool {
return true
}
这使我认为表格单元格未注册“选择”。
“表视图选择”属性是“单选”。
自定义MealTableViewCell
已选中User Interaction Enabled
。
在大纲窗格中单击MealTableViewCell
,然后在实用程序窗格中选择“连接”检查器,也会显示以下内容:
最终位:是否仍然可以添加手动(自动)序列?
教程已保存在存档中,我已经设法对其进行了一些小的改动。
使用Xcode 11.6
编辑/评论问题的答案:
prepare