最简单的解决方案是没有多维数组,而是使用自定义对象作为值,使用compare:方法,例如
@interface MyObject : NSObject
@property (nonatomic, strong, readwrite) NSString* firstString;
@property (nonatomic, strong, readwrite) NSString* secondString;
- (NSComparisonResult)compare:(MyObject*)object;
@end
@implementation MyObject
- (NSComparisonResult)compare:(MyObject*)object {
return [self.firstString compare:object.firstString];
}
@end
然后使用以下方法对数组进行排序:
NSArray* sortedObjects = [array sortedArrayUsingSelector:@selector(compare:)];
如果你想坚持你的实施,那么
NSArray* sortedObjects = [array sortedArrayUsingComparator:^(id obj1, id obj2) {
NSString* string1 = [obj1 objectAtIndex:0];
NSString* string2 = [obj2 objectAtIndex:0];
return [string1 compare:string2];
}];