gpt4 book ai didi

iphone - 按对象属性对 NSMutableArray 进行排序

转载 作者:行者123 更新时间:2023-12-03 18:12:47 24 4
gpt4 key购买 nike

所以这是一个相当基本的问题,涉及对自定义对象的 NSMutableArray 进行排序的最佳方法。

我有一个 NSMutableArray 的自定义对象,每个对象都有一个 NSStringNSDate 组合在一起。我需要按最新的对象对数组进行排序(所以最新的 NSDate),并且我很确定我可以简单地使用 NSDate Compare: NSDate 如果这是一个数组只是 NSDate,但由于我需要对所有对象进行排序,而不仅仅是日期,所以我不确定是否可以使用该方法。

就伪代码而言,我需要:查看单个对象,确定当前对象的 NSDate 是否是数组中的下一个最大的,如果是,则移动该对象,而不是只是日期。

再说一次,这是我什至犹豫要不要问的问题,因为它是如此基本,但如果有一个预先存在的类方法基本上可以做我想要的事情,我不想去编写一些效率非常低的方法,搜索一个对象的子属性数组,并根据子属性对对象进行排序。

感谢您的帮助。

最佳答案

NSSortDescriptors让这变得非常简单。使用NSMutableArray,您可以使用sortUsingDescriptors:对现有数组进行排序,对于不可变数组,您可以使用sortedArrayUsingDescriptors:创建一个新数组

//This will sort by stringProperty ascending, then dateProperty ascending
[mutable_array sortUsingDescriptors:
@[
[NSSortDescriptor sortDescriptorWithKey:@"stringProperty" ascending:YES],
[NSSortDescriptor sortDescriptorWithKey:@"dateProperty" ascending:YES]
]];

关于iphone - 按对象属性对 NSMutableArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7001597/

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