2011-11-11 47 views
3

我在使用NSSortDescriptor方面只有有限的经验。 这是一键排序,它工作正常。我有一组数字,例如: {(2,3),(44,5),(6,17),(33,7)......(173) ,21)} 我想根据给定函数myfunction(x,y)的值对对(x,y)进行排序。 有一个三重(x,y,z)的小概念,其中z是myfunction(x,y)的计算,然后对三元组进行排序,但这不是我想要的。带功能的NSSortDescriptor

有没有正确的方法来使用NSSortDescriptor来做我所需要的?

感谢您的任何信息。

+0

检出http://soulwithmobiletechnology.blogspot.com/2011/08/nssortdescriptor-example.html –

+0

你在这种情况下使用排序描述符是什么?你只是排序一个数组? – jrturton

+0

@parapurarajkumar该博客很好,但只是显示了直接基于属性链接排序的方式。米歇尔,你有没有找到一种方法来做到这一点? –

回答

1

除非您将此排序描述符与使用SQLite存储的核心数据一起使用,否则可以在该属性表示的对象上创建一个transient属性,即函数的计算。然后,您可以对该瞬态属性进行排序,它将生成所需的结果,而不存储z值。但是,如果您将核心数据与SQLite之类的商店一起使用,其中整个商店内容为而非已读入内存,则无法使用瞬态属性进行排序,您必须将实际存储的z值为了实现你正在描述的内容而管理对象,或者将所有托管对象读入数组,然后对瞬态属性中的对象数组进行排序......如果只有有限的托管数量对象,但不是很好,否则。