我有一个iOS应用,经常添加内容并将其保存在CoreData中。每个内容项都有固定的分数。
我希望能够以类似于Hacker News算法(http://amix.dk/blog/post/19574)的方式对它们进行排序。也就是说,部分取决于内容的年龄,部分取决于内容的得分的计算属性;例如(分数)/(年龄小时)^(1.8)
使用普通SQL这是可能的,但CoreData是否抽象了太多东西?
答案 0 :(得分:1)
您需要创建一个包含计算得分的新属性。
更新对象时,也会更改计算得分。
如果要对获取请求应用排序,请使用计算得分作为排序键,不要将其添加为临时属性,因为这些不存储在基础SQL中数据库中。