按日期和父注释对Swift中的WordPress注释进行排序

时间:2018-07-08 15:54:35

标签: ios swift wordpress sorting

我对WordPress网站上作为对象存储在iOS应用程序中的文章的一组评论。评论对象的一些关键属性是:

public let id: Int //Unique identifier of comment
public let parentID: Int //ID of the comment this comment is replying to. If it is a top level comment the value is 0.
public let dateCreated: Date //The date the comment was created

我希望以UITableView的形式显示这些评论,就像在WordPress网站(和大多数其他网站)上一样,这些评论按日期排序,但子评论也显示在其父母的下方,如果对一个评论有多个答复,则按日期排序。呈现评论的最简单方法似乎是在单个评论UITableView的每个评论中包含一行,其中子评论将缩进以表明它们正在回复其他评论(同样,与WordPress和大多数其他设计相同)网站)

我正在努力寻找一些明智的代码来以这种方式对注释进行排序。我已经能够通过先按parentID进行排序,然后再按日期进行多级排序,但这不能提供正确的结果(对回复的评论显示在列表的底部,而不是在其父母的评论之后):

var sortedComments = comments.sorted { //comments is the array of comment-objects
    if $0.parentID != $1.parentID {
        return $0.parentID < $1.parentID
    } else {
        return $0.dateCreated < $1.dateCreated
    }
}

我猜想其背后的算法可以与编程语言无关地重用,因此,如果有人具有不受编程语言欢迎的算法(但是,如果有人具有特定的Swift-answer,我不在乎!)< / p>

0 个答案:

没有答案