我的应用程序维护一个数据列表,其中一些行可能被用户隐藏。隐藏/显示按钮位于编辑面板中,通过将 tableview 置于编辑模式然后选择要编辑的行来访问该面板。这意味着在编辑模式下,所有行都需要显示,即使是那些通常隐藏的行;否则将无法取消隐藏它们。
我通过将 fetchedResultsController 设置为 nil 并在 setEditing 中重新加载表来实现这一点,然后修改为 fetchedResultsController 构建谓词的代码以检查表是否处于编辑模式,如果是,则跳过排除隐藏列表的谓词部分. 因此,当用户触摸“编辑”按钮时,表格会在进入编辑模式的过程中重新加载所有行,并在退出的过程中重新加载只有未隐藏的行。
这很好用,只是它杀死了人们在进入和退出编辑模式时通常看到的动画。额外的重新加载使它看起来很突然。如果我在调用 [super setEditing:animated] 之前或之后进行重新加载,没有区别。
有没有更好的方法或地方来做到这一点?