iOS实施导航课程不保存

时间:2016-09-28 16:38:36

标签: ios swift segue

我正在关注Apple处理Xcode的课程。 我正在尝试通过单击故事板上的保存按钮将新的“餐”实例保存到我的tableview中。

在我的mealViewcontroller中,我有准备功能:

func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
    if saveButton === sender {
        let name = nameTextField.text ?? ""
        let rating = ratingControl.rating
        let image = mealImageView.image
        meal = Meal(name: name, rating: rating, image: image)
    }
}

在我的MealTableViewController中:

@IBAction func unwindToMealList(sender: UIStoryboardSegue){
    if let sourceViewController = sender.source as? MealViewController, let meal = sourceViewController.meal {
        let newIndexPath = NSIndexPath(row: meals.count, section: 0)
        meals.append(meal)
        tableView.insertRows(at: [newIndexPath as IndexPath], with: UITableViewRowAnimation.bottom)
    }
}

我已将MealTableViewController上的保存按钮与Exit项目相关联,并选择了动作segue“unwindToMealListWithSender”,它与我的func“unwindToMealList”的名称不对应

是什么原因,当我添加一个项目并单击保存按钮时,我的MealView没有添加任何内容?

我尝试过断点,但找不到问题所在的位置。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

解决了:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if sender as? UIBarButtonItem === saveButton {
        let name = nameTextField.text ?? ""
        let rating = ratingControl.rating
        let image = mealImageView.image
        meal = Meal(name: name, rating: rating, image: image)
    }
}