【发布时间】:2015-11-24 17:02:06
【问题描述】:
我已经阅读过类似的问题/答案,但没有一个能解决我的问题。
我有一个这样的对象
class Chat {
unreadMessages: Int = 0
messages: Int = 0
}
然后我有一个 Chat 对象数组,我需要按多个标准对其进行排序,首先是与未读消息聊天,然后与总消息聊天。
Es.
Obj TotMes Unread
Chat A 10 3
Chat B 1 0
Chat C 4 0
Chat D 9 9
期望的输出:
Chat D 9 9
Chat A 10 3
Chat C 4 0
Chat B 1 0
我尝试使用这种算法,但似乎不起作用:
let sorted = chats.sort({ (c1, c2) -> Bool in
if c1.unreadMessages > c2.unreadMessages {
return true
}
if c1.messages > c2.messages {
return true
}
return false
})
谁能解释一下这有什么问题?
【问题讨论】:
-
您可以使用谓词规则对数组进行排序
-
想一想:如果
c1.unreadMessages < c2.unreadMessages会发生什么?
标签: xcode swift sorting swift2