gpt4 book ai didi

iphone - 按对象方法的结果对NSArray进行排序

转载 作者:行者123 更新时间:2023-12-01 19:19:25 27 4
gpt4 key购买 nike

所以我有一个NSArray带有名为Church的自定义对象。在每个教堂中,都有许多弥撒时间。因此,教堂中有一种方法可以计算出与用户当前时间最接近的质量。

-(NSDate *)closestTimeTo:(NSDate *)currentTime

我希望能够通过该方法为每个对象返回的结果(为NSDate)对Church NSArray进行排序。基本上是获得按最近时间和位置排序的质量的排序列表。

我正在使用类别,因为它是核心数据对象,所以无法将最近的时间存储为属性。我也不认为将这些值保存到核心数据中不是一个好主意,因为由于位置服务,这些方法将不断被调用。

关于如何使用其对象的方法的结果对此类数组进行排序的任何想法?

最佳答案

尝试以下块。这将直接帮助(或至少进行一些小修改)。

NSArray *sortedArray;
sortedArray = [yourArray sortedArrayUsingComparator:^NSComparisonResult(id a, id b) {
NSDate *first = [(Church*)a closestTimeTo:currentTime];
NSDate *second = [(Church*)b closestTimeTo:currentTime];
return [first compare:second];
}];

关于iphone - 按对象方法的结果对NSArray进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11034536/

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