我正在尝试按字母顺序对一组托管对象进行排序。它们需要排序的属性是对象的名称 (NSString),它是托管属性之一。目前,我将所有名称放在一个字符串数组中,然后使用 sortedNameArray = [sortedNameArray sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
然后将它们枚举回包含对象的数组中。当两个名字相同时,这就会分崩离析,所以我真的需要能够按一个属性排序。我应该怎么做?
最佳答案
使用 NSSortDescriptor。只需搜索它的文档,那里有一些非常简单的示例,您可以直接复制过来。这是一个简化的示例:
NSSortDescriptor *valueDescriptor = [[NSSortDescriptor alloc] initWithKey:@"MyStringVariableName" ascending:YES];
NSArray *descriptors = [NSArray arrayWithObject:valueDescriptor];
NSArray *sortedArray = [myArray sortedArrayUsingDescriptors:descriptors];
就像这样,您就有了一个排序数组。
关于iphone - 如何根据一个属性对对象的 NSArray 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6256046/