我有 NSMutableArray
可以包含两个对象:
NSString
和这个:
@interface FileDownloadItem : NSObject
@property (nonatomic, retain) NSString *title;
.......
@end
我希望能够根据标题或字符串对 NSMutableArray
进行排序。
在我使用数组中的 NSString 之前,我使用这个命令:
NSSortDescriptor * sortDescriptor = [[[NSSortDescriptor alloc]initWithKey:@"title" ascending:YES selector:@selector(caseInsensitiveCompare:)] autorelease];
NSArray *sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
favoritesArray = [[NSMutableArray alloc] initWithArray:[[[FavoritesRep sharedFavoritesRep] favoritesArray] sortedArrayUsingDescriptors:sortDescriptors]];
但现在它只是崩溃。
最佳答案
这是一个正确的解决方案:
NSArray *sortedArray = [myArrayToSort sortedArrayUsingComparator:^(id obj1, id obj2) {
if (! [obj1 isKindOfClass:[NSString class]])
obj1 = [obj1 title];
if (! [obj2 isKindOfClass:[NSString class]])
obj2 = [obj2 title];
return [obj1 caseInsensitiveCompare:obj2];
}
关于ios - NSMutableArray 按标题排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21875151/