我有一个包含对象的NSArray
。我的对象是这样的:
@interface Personne : NSObject{
int _id;
NSString *name;
}
我有一个Web服务,可以通过名字返回给我。例如;当我点击搜索栏并输入“a”时,服务器将所有名称中包含“a”的人返回给我,我将结果放入NSArray
。现在我想对我的数组进行排序,并将名称以“a”开头的人放在我的数组的开头,将其他人放在最后。我怎么能这样做?
编辑:例如,我有这样的服务器响应:
marakech
arabie
malakit
arsenal
astonvilla
我想这样排序:
arabie
arsenal
astonvilla
malakit
答案 0 :(得分:2)
我认为你需要一个NSMutableArray
,而不是NSArray
。还要使用sortUsingSelector:
即。首先,您可以为Personne
类- (NSComparisonResult)compare:(MyObj *)otherObj
编写方法,然后您可以使用sortUsingSelector:@selector(compare:)
检查一下 - How to sort an NSMutableArray with custom objects in it?
答案 1 :(得分:2)
您可以使用此方法:
- (NSArray *)sortedArrayUsingComparator:(NSComparator)cmptr
采用比较器块,然后您可以将您的排序标准放在块中,如下所示:
mySortedArray = [myArrat sortedArrayUsingComparator: ^(id a, id b) {
//criteria;
return [a compare:b];