首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用描述符数组比较2个对象

使用描述符数组比较2个对象
EN

Stack Overflow用户
提问于 2010-09-25 06:22:34
回答 2查看 368关注 0票数 1

有没有一个函数可以使用NSSortDescriptor数组比较两个对象并返回NSComparisonResult?(将它们放入数组中不会标识相等。)

EN

回答 2

Stack Overflow用户

发布于 2010-09-25 06:28:00

您可以很容易地自己编写该函数。只需迭代数组即可。棘手的设计决策是当不同的比较器返回不同的结果时为什么要这样做。例如,假设我们使用am array和两个比较器来比较一辆法拉利和一大堆泥土:成本和大小。法拉利的成本更高,但尘土堆积更大。我们说哪一个“更大”呢?这是一个设计决策,您必须根据您的特定问题域做出决定。

票数 0
EN

Stack Overflow用户

发布于 2017-09-01 16:19:16

这应该可以正常工作:

代码语言:javascript
运行
复制
+ (NSComparisonResult)compareObject:(id)firstObject toObject:(id)secondObject withSortDescriptors:(NSArray<NSSortDescriptor *> *)sortDescriptors {
   NSComparisonResult result;
   NSUInteger index = 0;
   do {
       NSSortDescriptor *sortDescriptor = [sortDescriptors objectAtIndex:index];
       result = [sortDescriptor compareObject:firstObject toObject:secondObject];
       index += 1;
    } while (result == NSOrderedSame && index < sortDescriptors.count);

   return result;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3791445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档