【发布时间】:2017-01-17 08:42:42
【问题描述】:
我需要从星期一到星期五按顺序对数组进行排序。我在这里做了那部分
NSArray *userDays = [NSArray arrayWithObjects:@"Monday", @"Tuesday", @"Wednesday",@"Thursday",@"Friday",nil];
[sortArray addObject:model.title];
NSArray *sortedUserDays = [userDays filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF in (%@)", sortArray]];
所以,sortArray 有 5 个对象,分别是星期一、星期二、星期三、星期四和星期五。问题是当我对需要排序的数组进行排序时,比如说 tempArray。我刚刚创建了 sortArray 用于测试排序。
tempArray 里面有 NSDictionary。并且日期(星期一、星期二等...)在 title 键中。
现在在这一行
NSArray *sortedUserDays = [userDays filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"SELF in (%@)", sortArray]];
我需要将 sortArray 更改为 tempArray.model.title 之类的内容。我该怎么做才能对嵌套的 NSArray 进行排序?
示例数据:
tempArray[0]
{ title : "Friday", identity: "someUniqueIdentity", url: "httpwww.123" }
tempArray[1]
{ title: "Wednesday", identity: "someUniqueIdentity2", url :"httpwww.1233" }
tempArray[2]
{ title: "Monday", identity: "someUniqueIdentity3", url: "httpwww.1233" }
tempArray[3]
{ title: "Thursday", identity: "someUniqueIdentity3", url :"httpwww.1233" }
tempArray[4]
{ title: "Tuesday", identity: "someUniqueIdentity3", url: "httpwww.1233" }
预期输出:
tempArray[0]
{ title: "Monday", identity: "someUniqueIdentity3", url: "httpwww.1233" }
tempArray[1]
{ title: "Tuesday", identity: "someUniqueIdentity3", url :"httpwww.1233" }
tempArray[2]
{ title: "Wednesday", identity: "someUniqueIdentity2", url :"httpwww.1233" }
tempArray[3]
{ title: "Thursday", identity: "someUniqueIdentity3", url :"httpwww.1233" }
tempArray[4]
{ title: "Friday", identity: "someUniqueIdentity", url: "httpwww.123" }
【问题讨论】:
-
我能很快知道你想做什么吗?
-
你在做的是过滤而不是排序,首先你需要解决它。
-
按星期一、星期二、星期三、星期四和星期五的格式对嵌套的 NSArray 进行排序
-
@Supermannoying 您的嵌套数组是字典数组的类型,每个字典都包含键标题,其值类似于
userDays元素。对吗? -
@Supermannoying 你正在寻找这个stackoverflow.com/a/18089499/6433023
标签: ios objective-c sorting nsarray nsdictionary