Ios Swift:对关系对象进行反向排序
我有这样一个无休止的表格:Ios Swift:对关系对象进行反向排序,ios,swift,backendless,Ios,Swift,Backendless,我有这样一个无休止的表格:Posts和Comments Posts有一个列comments,它与comments表有一对多的关系 我试图以最晚的优先行为获得注释 目前,我有以下问题: let query = BackendlessDataQuery() let queryOptions = QueryOptions() queryOptions.pageSize = size queryOptions.related = ["comments", "comments.user",
Posts
和Comments
Posts有一个列comments
,它与comments表有一对多的关系
我试图以最晚的优先行为获得注释
目前,我有以下问题:
let query = BackendlessDataQuery()
let queryOptions = QueryOptions()
queryOptions.pageSize = size
queryOptions.related = ["comments", "comments.user", "user", "media"]
query.queryOptions = queryOptions
// Used PostObject since it is already mapped using `mapTableToClass`
backendlessInstance.persistenceService.of(PostObject.ofClass()).find(
query,
response: { backendlessPostsList in
let backendlessPostsListOfOffset = backendlessPostsList.getPage(offset)
guard let postObjects = backendlessPostsListOfOffset.getCurrentPage() as? [PostObject] else {
reject(BackendlessError.InvalidTypeForObject(name: "Post"))
return
}
return postObjects
},
error: { fault in
// TODO Find a way to convert a Fault to ErrorType
print("Server reported an error (1): \(fault)")
}
)
我目前在视图模型中对Post.comments进行排序的做法是将其反转<代码>Post.comments.reverse()
是否有一种方法可以显式地在后台级别对
注释进行排序?您可以使用排序功能
let sortedComments = Post.comments.sort { $0.date > $1.date }
当然,您的评论需要一个已发布的日期字段才能起作用。在使用相关的时,您没有选项,因此您应该只将其用于一个关系,而不是多个关系。如果你有一对几的关系就可以了
因此,您应该单独请求注释,以便指定特定的页面大小和排序顺序。请注意,当指定要排序的变量(created
)时,还可以添加asc
或desc
以指定排序方向(因此created desc
)。可以在查询选项上设置排序属性,我不太清楚你在问什么…@Wain我只想在不影响PostObjects顺序的情况下按最晚的第一顺序对评论进行排序。我明白了。谢谢你的建议(韦恩!)