我的应用程序维护一些数据列表,用户可能会隐藏某些行。隐藏/显示按钮位于编辑面板中,可通过将tableview置于编辑模式,然后选择要编辑的行来进行访问。这意味着在编辑模式下,所有的行都需要显示出来,甚至是那些通常隐藏的行。否则将无法取消隐藏它们。从setEditing更改核心数据谓词
我通过将fetchedResultsController设置为nil来实现此目的,并在setEditing中重新加载表,然后修改构建fetchedResultsController谓词的代码,以检查表是否处于编辑模式,如果是,跳过谓词的一部分不包括隐藏的列表。因此,当用户触摸Edit按钮时,表格会随着所有行重新加载进入编辑模式,并且在返回时只重新加载未隐藏的行。
这工作正常,除了它已经杀死了进入和退出编辑模式时通常看到的动画。额外的重新加载使它看起来很陡。如果在调用[super setEditing:animated]之前或之后执行重新加载,则没有区别。
有没有更好的方法或地方来做到这一点?
这工作,谢谢!这并不是100%平滑,因为表格在进入编辑模式的同时进行更新,但我认为它可能是最好的。不过,仍然困惑为什么其他史蒂夫的建议没有奏效。 – janineanne