gpt4 book ai didi

ios - 如何将字典的键转换为按字典中这些键对应的值排序的数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:08 24 4
gpt4 key购买 nike

我有一本字典。它的键是字符串,它的值是 NSDates。例如:

{ A : <jan 1>, B : <mar 1>, C : <feb 1> }

我想根据字典中的键(A、B 和 C)创建一个数组,并按日期排序。所以我最终应该得到以下数组:

[A, C, B]

我怎样才能做到这一点?

加分点:有了那个排序数组,我可以实现我的最终目标,但排序数组只是一个中介;最优雅的解决方案不需要它。我真正想做的是对一组对象进行排序,每个对象都有一个对应于字典中的之一的属性值。例如:

[obj1, obj2, obj3]

在哪里

obj1.prop = A
obj2.prop = B
obj3.prop = C

我想根据 A、B 和 C 的日期值对数组进行排序,并引用字典。所以我在这种情况下的最终目标是以下数组:

[obj1, obj3, obj2]

谢谢!

最佳答案

基于 David 的回答,这将一起解决所有问题:

NSDictionary* items = @{ @"A":date1, @"B":date2, @"C":date3 };
NSArray *objectsArray = @{ obj1, obj2, obj3 };
NSArray *sortedObjectsArray = [objectsArray sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSDate *date1 = [items objectForKey:obj1.prop];
NSDate *date2 = [items objectForKey:obj2.prop];
return [date1 compare:date2];
}];

关于ios - 如何将字典的键转换为按字典中这些键对应的值排序的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23303986/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com