- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含多个部分的 UITableView,部分的数量是动态的,也就是说,它们可以随时增加。在 TableView 上重新加载带有动画的部分,其中部分的数量没什么大不了的。我只是这样称呼:
[notesTableView reloadSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationAutomatic];
然而,当部分的数量发生变化时让这个工作起来是一件很痛苦的事情。我总是遇到典型的断言错误 “重新加载之前您的 tableview 中的部分数必须与重新加载之后相同......等等”
。我知道我应该使用 [tableView insertSections...]
来摆脱这个,但在我的情况下这样做可能很困难。
我的节数基于数组的大小。无论如何,是否可以自动重新加载带有动画的部分,就像调用 [tableView reloadData]
一样简单,而不必担心手动插入行和部分?
(我知道一种廉价的解决方法是使用 UIView 动画或 CAAnimation,但这并不能提供与 reloadSections withAnimation 方法相同的效果。)
最佳答案
当您使用 FetchedViewControllers
时,这是一个常见的错误。您收到该错误的原因是因为您正在删除 dataSource
中的对象,并且 tableView 尝试加载 tableView,并查看 delegateMethods - 它表明您的部分较少指定的。
你有两个选择:
实现 FetchedResultsController
委托(delegate)方法并实现 objectWillChange
(或)objectDidChange
方法,并在其中说类似的内容
[[self tableView] reloadData];
// or
[[self tableView] endUpdates];
这应该可以解决问题。
实现通知(当您删除不同 managedObjectContext 下的数据时),并在 NSManagedObjectContextDidSave
(或)NSManagedObjectContextDidChange
时发布通知。然后您将必须添加一个观察者以将更改与通知合并。但我怀疑你的问题有这么严重。我会说选项 (1) 应该足够了。
关于iphone - UITableVIew reloadSections :withAnimation:withoutHassle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10055671/
我有一个包含多个部分的 UITableView,部分的数量是动态的,也就是说,它们可以随时增加。在 TableView 上重新加载带有动画的部分,其中部分的数量没什么大不了的。我只是这样称呼: [no
我是一名优秀的程序员,十分优秀!