我正在使用CoreData,所以我需要对实体进行排序描述符。
例如,Coordinate实体具有以下类功能:
例如,Coordinate实体具有以下类功能:
class func sortDescriptors() -> Array<NSSortDescriptor>
{
return [NSSortDescriptor(key: "sequence", ascending: true)]
}
我在执行像这样的fetch请求到CoreData时使用它:
var request = NSFetchRequest(entityName: entityName)
request.sortDescriptors = T.sortDescriptors()
然而,当我在另一个 CoreData 对象的属性中有一组坐标数组时,它是一个 NSSet (即未排序的)。
为了解决这个问题,我会像下面这样返回坐标:
return NSArray(array: coordinates!).sortedArrayUsingDescriptors(Coordinate.sortDescriptors()) as? Array<Coordinate>
使用NSArray仅仅为了调用sortedArrayUsingDescriptors
方法感觉很丑陋。是否有一种类似的方法可以直接在Swift数组(如Array<Coordinate>
)上使用排序描述符进行排序?
谢谢!
NSSet
的sortedArrayUsingDescriptors()
方法呢? - rintaroNSSet
实例是无序的。我猜你是指的是NSArray
。 - Bart Jacobs