我正在关注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没有添加任何内容?
我尝试过断点,但找不到问题所在的位置。
有什么想法吗?
答案 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)
}
}