我有一个“importData”函数,它从API中抓取一堆JSON并将其填充到领域数据库中。该JSON的部分看起来像:领域结果按回调排序
files: [
300,
19,
102
]
的编号与ID在这我已经让这些之前处理/进口JSON的顺序部分,基本上是一个属于该文件列表组。
这是仿照像这样在我的领域对象:
class SomeGroup : Object {
let files = List<File>()
}
我需要保留这些ID的排序顺序,这样,当我连接起来,文件的关系,该文件是在正确的顺序。
为了抢档车型,我需要连接起来,我运行一个查询,如下所示:
let thefiles = realm.objects(File.self).filter("id IN %@", fileIds)
的问题是这样返回它们以不同的顺序和.sorted
方法只能排序模型属性(从我可以告诉从文档)。
我认为通过结果循环,并从Result<File>
型转向他们基本Array<File>
或List<File>
类型,这样我就可以自己进行排序,但那样会丧失境界指针信息,因此我希望境界不能够创建链接。
唯一的另外一件事是查询每个文件并将其分别追加到组文件关系中,但是如果我这样做,查询数量将会飞涨。
有人能告诉我通过自定义函数/回调订购Result<File>
类型的最佳方式,以便它匹配来自json的我的id数组吗?
如果该文件被添加到集合中的顺序是有关你的模型和工作流,那么你应该添加一个“订单”关键模型('File'对象)。您在迭代JSON输入并创建'File'对象时设置它,并且稍后在查询中使用它以获取正确的顺序。 –
@bogdanf这是一个多对多的关系。要设置订单键,我必须在关系上放置订单(类似于MySQL中的数据透视表上的额外列)。 – TRG
是的,正确的,为什么不创建一个“关系”对象,其中包含组和文件的链接以及文件的顺序? –