我有一个字典输入数组:
myArray = (
{
name:"abc";
time:"6:00";
},
{
name:"xyz";
time:"7:00";
},
.
.
)
我想要这样的输出字典:
myDictionary = {
"6:00":(
{
name:"abc";
time:"6:00";
},
.
.
)
"7:00":(
{
name:"xyz";
time:"7:00";
},
.
.
)
}
我尝试了什么:
distinct times
我成功地得到了一个使用这条线的数组:
NSArray *arrTempKeys = [myArray valueForKeyPath:@"@distinctUnionOfObjects.Time"];
然后使用 for 内部的谓词for loop
,arrTempKeys
获取所有具有相同time
值的字典:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"Date == %@",str];
NSArray *arrTemp = [myArray filteredArrayUsingPredicate:pred];
最后,我将其分配arrTemp
为 Key 的 Objecttime
并获得了所需的结果。
我想要的是 :
我知道还有很多其他方法可以得到这个输出。但我只想知道是否有任何单一的KVC
编码行或任何其他最佳方式可以做这件事。