我的Table View有一个“添加”按钮,你点击添加按钮,一个新的视图控制器模态打开,你输入文本字段(名称,位置,评级等......),当你点击保存它会将您带到播放器配置文件页面,其中包含您在“添加视图控制器”中输入的所有信息。我还在播放器配置文件页面上有一个Unwind Segue,让您返回列出所有播放器的表格视图你补充说。我的问题是,当我点击退回到桌面视图的按钮时,它不会添加新的播放器.IE如果我的桌面视图中有3个玩家开始,我点击添加添加第四个,输入信息并点击保存并进入播放器配置文件页面,当我点击退出按钮时,表视图仍然列出3,而不是4.下面是我的展开代码......
@IBAction func unwindToRecipeList(segue: UIStoryboardSegue) {
if let sourceViewController = segue.sourceViewController as? RecipeDetailViewController, recipe = sourceViewController.recipe {
if let selectedIndexPath = tableView.indexPathForSelectedRow {
recipes[selectedIndexPath.row] = recipe
tableView.reloadRowsAtIndexPaths([selectedIndexPath], withRowAnimation: .None)
} else {
let newIndexPath = NSIndexPath(forRow: recipes.count, inSection: 0)
recipes.append(recipe)
tableView.insertRowsAtIndexPaths([newIndexPath], withRowAnimation: .Bottom)
}
答案 0 :(得分:0)
在将食谱添加到食谱后尝试使用tableView.beginUpdates()
和tableView.endUpdates()
:
@IBAction func unwindToRecipeList(segue: UIStoryboardSegue) {
if let sourceViewController = segue.sourceViewController as? RecipeDetailViewController, recipe = sourceViewController.recipe {
if let selectedIndexPath = tableView.indexPathForSelectedRow {
recipes[selectedIndexPath.row] = recipe
tableView.reloadRowsAtIndexPaths([selectedIndexPath], withRowAnimation: .None)
} else {
recipes.append(recipe)
tableView.beginUpdates()
tableView.insertRowsAtIndexPaths([NSIndexPath(forRow: recipes.count-1, inSection: 0)], withRowAnimation: .Automatic)
tableView.endUpdates()
}
}
}