开始开发 iOS 应用程序 (Swift) - 添加按钮不再起作用

Start Developing iOS Apps (Swift) - Add button isn't working anymore

我正在关注 Apple 的 Start Developing iOS Apps (Swift),在段落实施编辑和删除行为。实施编辑和删除行为后,我注意到 Add (+) 按钮不再起作用。这是在尝试添加按钮时给我一个错误的代码:

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":
        guard let mealDetailViewController = segue.destination as? MealViewController else {
            fatalError("Unexpected destination: \(segue.destination)")
        }

        guard let selectedMealCell = sender as? MealTableViewCell else {
            fatalError("Unexpected sender: \(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; \(segue.identifier)")
    }
}

Here is the warning and the suggested Fix-its

Here is the error I get

Here is the storyboard

Here is the segue identifier

Here is the identifier

这里是苹果提供的文件,顺便说一句,我用的是一样的: https://developer.apple.com/sample-code/swift/downloads/08_ImplementEditAndDeleteBehavior.zip

我知道这段代码很旧,需要升级到Swift 4.1,但我没有太多经验,所以我不能自己做。感谢大家的帮助。

根据错误,当您打开 segue 标识符时,您将达到默认情况。这意味着 segue 中的标识符与任何情况都不匹配。事实上,消息说标识符是 addItem,它与 AddItemShowDetail 不匹配。看起来 segue 标识符是区分大小写的,是吧?因此,更改故事板中的 segue 标识符以匹配您期望的标识符之一,可能 AddItem,然后重试。