1

我有一堆 NSManagedObjects,它们在 UITableView 中被分成几个部分。

[Section Header 0]
[NSManagedObject]
[NSManagedObject]
[NSManagedObject]
[Section Header 1]
[NSManagedObject]
[Section Header 2]
[NSManagedObject]
[NSManagedObject]
[NSManagedObject]

用户可以按部分编辑对象,包括删除它们。假设我删除了[NSManagedObject]上面[Section 1]的内容。这会更新我的 NSFetchedResultsController 并删除行和部分,包括部分标题。

有没有办法用任何对象保留空白部分?我考虑过放入一些代码来设置节的最小计数,但问题是它不会与 NSFetchedResultsController 同步。添加一个额外的部分只会将其添加到底部,但我想在第一部分之后添加它,无论之后是否有一个或多个部分。

这些对象都是服务器驱动的,所以我想做这样我就不会有很多硬编码的部分。

谢谢。

4

1 回答 1

0

您应该在数据模型中包含属性或关系以跟踪这些部分。看到您对用户进行分组,您必须有一个可以在数据中建模的标准。

然后NSFetchedResultsController用适当的sectionNameKeyPath. 使用 Apple 的普通代码显示部分信息(如果有)。

您在每个部分中实际显示的内容仍然取决于您。(这是您在数据源方法中放入的内容)。但至少你可以有一个一致的部分系统和对象分组。

于 2013-01-27T22:06:31.487 回答