2016-12-03 67 views
1

我有一个UITableView,我通过我从Realm数据库获得的对象列表来填充它。我想要做的是在运行时通过属性值在列表中创建节和组合项。在运行时按UITableView属性分组项目的方法吗?

我在网上看到的UITableView中的所有分组项目的示例均使用预先安排的字典进行操作。

可以吗?

+0

您可能需要阅读Apple文档中的集合类型。 https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID107 –

+0

我建议抓取您的所有数据,然后然后对它们进行排序,最后将它们加载到你的tableView数据源 –

回答

0

您可以设置您的表格视图数据源任何你想要的方式。你可以编写代码来确定哪些项目属于哪些部分,但我会建议不要这样做。

我建议设置一个方法,将Realm对象列表作为输入,并构建一个包含行的子数组的部分数组。然后,您的cellForRowAtIndexPath方法可以像正常一样简单地索引到模型数据中。

+0

你为什么要推荐一个代码来决定一个项目的一部分?这正是我想要的行为,因为我希望能够切换它。 – Regs

+0

因为您必须在每次通过'cellForRowAtIndexPath'时通过数据将数据分类。除了非常小的数据集之外的任何内容,这些数据集太慢而不切合实际。当数据发生变化或排序标准发生变化时,将数据组织到数组数组中。 –

相关问题