嗨,我是IOS的新手,我使用array1表示一个数组名称。数组的每个索引都有一个字典,其中包含4个不同的字段,例如名称,日期,标记,标准。这些所有值均为NSString格式。我想按日期排序此array1。所以任何人都可以帮助我做到这一点
下面是我的代码的一部分

NSMutableDictionary *tempDict = [[NSMutableDictionary alloc]init];

NSString *myname = name.text;
NSString *marks= marks.text;
NSString *date=date.text;
NSString *address=address.text;
NSString *rID=rID.text;

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"yyMMdd"];
NSDate *date1 = [dateFormat dateFromString:date];
[tempDict setObject:myname forKey:@"name"];
[tempDict setObject:marks forKey:@"marks"];
[tempDict setObject:date1 forKey:@"date"];
[tempDict setObject:address forKey:@"address"];
[tempDict setObject:rID forKey:@"Rid"];

[array1 addObject:tempDict];

最佳答案

NSSortDescriptor *sortByDate = [NSSortDescriptor sortDescriptorWithKey:@"date"
    ascending:YES];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortByDate];
NSArray *sortedArray = [array1 sortedArrayUsingDescriptors:sortDescriptors];


如果要使用日期对数组进行排序,则必须创建NSDate对象而不是NSString

NSDate *date = [dateFormatter dateFromString:date.text];


dateFormatter是您的NSDateFormatter

07-24 09:24