使用Realm,我应该使用List对象或Results对象作为UITableView的数据源吗?

Dav*_*iss 6 realm uitableview ios swift realm-mobile-platform

Realm中至少使用了两种主要的集合类型:

  1. 名单
  2. 结果

关于Results对象的文档中的相关描述说:

结果是从对象查询返回的Realm中的自动更新容器类型.

因为我希望我UITableView回应Realm对象服务器上的任何更改,我真的认为我希望我UITableViewResults对象支持.事实上,我认为我总是希望一个Results对象支持我的UI.这只能通过List文档中对象的描述来加强:

List是Realm中用于定义多对多关系的容器类型.

当然,似乎List是专注于数据建模...所以,作为Realm的新手,只是阅读API,我认为答案是使用Results对象,但教程(步骤5)使用List对象,而RealmExamples示例代码使用Results.

我错过了什么?我应该使用List物体支持我UITableViews吗?如果是这样,原因是什么?

jps*_*sim 4

简短的回答:List如果已经存在与您想要在表视图中显示的内容紧密匹配的,则使用 a ,否则使用Results.

如果已经存储在 Realm 中的 a 表示的数据List与您想要在表视图中显示的内容相对应,那么您当然应该使用它来支持它。列表有一个有趣的属性,因为它们是隐式排序的,这有时会很有帮助,就像在上面链接到的教程中一样,用户可以在其中对任务重新排序

Results包含Realm 中的查询结果。运行此查询通常比访问 a 具有更高的运行时开销List,其多少取决于查询的复杂性和领域中的项目数量。

话虽这么说,改变 aList也会对性能产生影响,因为它以原子方式写入文件。因此,如果这是经常更改的内容,则 aResults可能更合适。