在一個(gè)數(shù)據(jù)的模型中含有時(shí)間的屬性及其他一些屬性,由于加入模型的時(shí)候數(shù)據(jù)是無(wú)序的,需求為在UI上顯示為按時(shí)間降序整合
由于存儲(chǔ)的時(shí)間("2017-06-22 11:34:21")是nsstring 類型的,需要將轉(zhuǎn)化為時(shí)間戳
//將時(shí)間轉(zhuǎn)化為時(shí)間戳
+(NSString *)stampWithTime:(NSString *)timestr
{
????????NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
????????[formatter setDateStyle:NSDateFormatterMediumStyle];
????????[formatter setTimeStyle:NSDateFormatterShortStyle];
????????[formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; // ----------設(shè)置你想要的格式
????????//NSTimeZone *timeZone = [NSTimeZone timeZoneWithName:@"Asia/Shanghai"];
????????NSTimeZone *timeZone = [NSTimeZone systemTimeZone];//使用系統(tǒng)的時(shí)區(qū)
????????[formatter setTimeZone:timeZone];
????????NSDate* date = [formatter dateFromString:timestr]; //將字符串按 ? ? formatter轉(zhuǎn)成nsdate
????????NSString *timeSp = [NSString stringWithFormat:@"%ld", (long)[date timeIntervalSince1970]];
????????return timeSp;
}
然后在進(jìn)行排序 MsgModel為自己數(shù)據(jù)源的模型
//MARK將模型數(shù)組按時(shí)間降序排序
-(NSArray *)comparePark
{
????????NSArray *array =[self.eventsArray ????sortedArrayUsingComparator:^NSComparisonResult(id obj1,id obj2) {
????????MsgModel *object1 = (MsgModel *)obj1;
????????MsgModel *object2 = (MsgModel *)obj2;
????????if ([object1.evenkind doubleValue] < [object2.evenkind doubleValue]) {
????????????????return NSOrderedDescending;
????????} else if ([object1.evenkind doubleValue] > [object2.evenkind doubleValue]) {
????????????????return NSOrderedAscending;
????????}
????return NSOrderedSame;
}];
return array;
}