在我的应用程序的初稿中,我使用静态数组填充了我的NSTableView . 我有一个NSButton,它插入一个具有动画效果的新行,如下所示:
tableView.beginUpdates()
tableView.insertRows(at: IndexSet(integer: tableview.numberOfRows), withAnimation: .effectFade)
tableView.endUpdates()
此时的简短问题:我是否需要begin- / endUpdates()命令?如果我使用这段代码,我现在看到了区别 .
Primary Problem:
现在我的第二稿:
现在我从Core Data获取TableView的数据 . 如果我单击NSButton(插入一个新行),我会做一些不同的事情:我创建一个新记录,将其保存到核心数据中,再次获取所有数据并重新加载我的TableView .
这很好,但我不能在我的第二稿中使用这一行 .
tableView.insertRows(at: IndexSet(integer: tableview.numberOfRows), withAnimation: .effectFade)
任何人都知道如何再次使用核心数据这个“漂亮”的动画?
1 回答
Short question :单个插入/删除/移动操作不需要
beginUpdates() / endUpdates()
,只需要多个同时操作 .Primary problem :
reloadData()
不显示任何动画 . 而不是...再次获取所有数据并重新加载我的TableView使用insertRows(at
在表视图中插入对象 . 它会更新显示动画的表格视图 .