Obj-c - 按日期/时间对数组中的字典进行排序?

时间:2021-02-08 18:12:33

标签: ios arrays objective-c

我正在尝试按照预定日期中的日期/时间将人(字典)放入我的数组中。这是我正在使用的代码,但它似乎不起作用。人们只是按照相同的顺序返回(而不是按日期/时间重新排序)。

我当前的代码:

ViewController.m

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"MMM dd, yyyy hh:mm"];

    self.sortedByTime = [self.dailySchedule sortedArrayUsingComparator:^NSComparisonResult(NSDictionary *obj1, NSDictionary *obj2)
    {
        NSDate *date1 = [dateFormatter dateFromString:obj1[@"scheduleddate"]];
        NSDate *date2 = [dateFormatter dateFromString:obj2[@"scheduleddate"]];
        return [date1 compare:date2];
    }];
    NSLog(@"Sorted Array : %@", self.sortedByTime);
    }

包含在我的数组中,我有:

{
        "first name" = Michael;
        "last name" = Levy;
        scheduleddate = "Feb 14, 2021 05:00 PM";
      
    },
        {

        "first name" = Cali;
        "last name" = Wright;
        scheduleddate = "Feb 14, 2021 10:00 AM";
  
    },
        {
         "first name" = Janine;
        "last name" = Lohr;
         scheduleddate = "Feb 14, 2021 01:00 PM";
   
    }

我想要达到的目标:

 {
            "first name" = Cali;
            "last name" = Wright;
            scheduleddate = "Feb 14, 2021 10:00 AM";
      
        },
 {
             "first name" = Janine;
            "last name" = Lohr;
             scheduleddate = "Feb 14, 2021 01:00 PM";
       
        },

 {
            "first name" = Michael;
            "last name" = Levy;
            scheduleddate = "Feb 14, 2021 05:00 PM";
          
        }

0 个答案:

没有答案