ios数组对象排序 就是类似QQ评论和回复 服务器是按照时间排的 我现在要排序回复插到回复的那条评论下面
ios数组对象排序 就是类似QQ评论和回复 服务器是按照时间排的 我现在要排序回复插到回复的那条评论下面
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
ios数组对象排序 就是类似QQ评论和回复 服务器是按照时间排的 我现在要排序回复插到回复的那条评论下面
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(1)
代码用C#容易写,你需要的时候自己转成oc或swift
你要两个数据结构:
和
假设说你拿到的已经是按照时间排序好的了,那首先你就可以写一个函数来生成他们的父子结构。这里的ServerComment指的是你从服务器拿到的数据,显然这不可能是一棵树,所以你要声明上面的Comment类,注意区别这两个类型。
然后你就得到了他们的父子关系了。后面排序就简单了,只需要按照时间顺序找到所有parent==null的记录,然后立刻把他的Children枚举出来就可以了。可以使用递归来做:
就大功告成了。如果你需要打印出真的树形的表格,那只要改改PrintTree就行了。
==============================================================
如果题主看不明白的话,下面就是代码的主要内容。
假设你拿到的数据有
他们已经排序好了
那么最终comments这个map的内容就是
注意c跟d是class,所以他们跟a的children里面是同一个对象。
不过这个map是按照id排序的,不是按照时间排序的,所以才会有后面那个函数,重新读一下服务器给你的comment,去找那些parent是null的(在这里就是a和b),最后打印出来: