如何根据NSSDictionary
格式的日期键对NSString
进行排序?
Printing description of dictMessageWithDate:
{
"06:10:2015" = (
"<ChatMessage: 0x78e108c0>"
);
"25:09:2015" = (
"<ChatMessage: 0x78fe8740>",
"<ChatMessage: 0x78ff5e50>",
"<ChatMessage: 0x78ff58b0>",
"<ChatMessage: 0x790205c0>",
"<ChatMessage: 0x7901ee00>",
"<ChatMessage: 0x79025990>",
"<ChatMessage: 0x7901f190>",
"<ChatMessage: 0x78faab50>",
"<ChatMessage: 0x78ff8ff0>",
"<ChatMessage: 0x78ff9860>",
"<ChatMessage: 0x78ffa1c0>",
"<ChatMessage: 0x78ffa490>",
"<ChatMessage: 0x78ff6810>",
"<ChatMessage: 0x78f98720>",
"<ChatMessage: 0x78f99790>",
"<ChatMessage: 0x78f42eb0>"
);
"28:09:2015" = (
"<ChatMessage: 0x78ffad90>"
);
"29:09:2015" = (
"<ChatMessage: 0x78ff1de0>",
"<ChatMessage: 0x78edad20>",
"<ChatMessage: 0x78e7a9d0>"
);
"30:09:2015" = (
"<ChatMessage: 0x78ec3ac0>"
);
}
答案 0 :(得分:3)
我建议重组:
ChatMessage
(@property NSDate *dateSent
)上添加发送日期属性。它应该已经有一个,因为它是消息的重要属性。NSArray
,这是订购的集合类。按如下方式对聊天消息进行排序:
NSSortDescriptor *dateDescriptor = [NSSortDescriptor
sortDescriptorWithKey:@"dateSent"
ascending:YES];
NSArray *sorted = [unsorted
sortedArrayUsingDescriptors:@[dateDescriptor]];