ios – 具有功能的NSSortDescriptor

前端之家收集整理的这篇文章主要介绍了ios – 具有功能的NSSortDescriptor前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在使用NSSortDescriptor方面经验有限.
它是在一个键上排序,它工作正常.
但这是我现在需要的,我有一组数字,例如:
{(2,3),(44,5),(6,17),(33,7)……(173,21)}
我想根据给定函数myfunction(x,y)的值对对(x,y)进行排序.
制作三元组(x,y,z)有一个简单的想法,其中z将是myfunction(x,y)的计算,然后对三元组进行排序,但这不是我想要的.

有没有正确的方法来使用NSSortDescriptor来完成我需要的工作?

感谢您提供任何信息.

解决方法

除非您使用sqlite存储将此排序描述符与Core Data一起使用,否则您可以在对象上创建一个transient属性,该属性表示z,即函数的计算.然后,您可以对该瞬态属性进行排序,它将生成您想要的结果,而不存储z值.

但是,如果您将Core Data与sqlite之类的存储一起使用,而整个存储内容不会被读入内存,则无法使用瞬态属性进行排序,您必须将z值实际存储在托管对象中才能实现您所描述的内容,或者将所有托管对象读入数组,然后在瞬态属性上对该对象数组进行排序…如果您只有有限数量的托管对象,那么这样就行了,但不是很好除此以外.

猜你在找的iOS相关文章