Twilio:根据上次消息时间对频道进行排序

时间:2018-01-09 06:05:06

标签: ios twilio twilio-api

我在iPhone应用程序中使用 Twilio 聊天SDK。 我试图根据最后的消息时间戳排序所有频道列表,有没有办法实现这一点?请建议。

3 个答案:

答案 0 :(得分:1)

Twilio开发者传道者在这里。

SDK目前还没有办法对渠道进行排序。最好的办法是将所有通道加载到一个数组中并自行排序。

答案 1 :(得分:0)

正如@philnash所说,SDK目前尚无法对频道进行排序。这就是我自己在javascript中进行排序的方式。在javascript SDK中,频道具有我用于排序的最后一条消息的时间戳。 无需获取最后一条消息,然后查找其时间戳

const sortedChannels = channels.sort(function (a, b) {

 /** Sort based on the last message if not, consider the last update of the channel */
 return new Date(b.lastMessage ? b.lastMessage.timestamp : b.dateUpdated) - new 
 Date(a.lastMessage ?
    a.lastMessage.timestamp :
    a.dateCreated);
 });

答案 2 :(得分:0)

我解决了这样的问题:

    func sortChannels() {
        let sortSelector = #selector(NSDate.compare(_:))
        let descriptor = NSSortDescriptor(key: "dateUpdatedAsDate", ascending: false, selector: sortSelector)
        channels!.sort(using: [descriptor])
    }