在按UIPickerViewselect数组之前按字母顺序排列数组
我是iphone开发新手,需要一些指导,以在iOS中对数组进行自定义sorting。 我想sorting出现在UIPickerView中的对象。 传递给UIPickerView的对象位于数组中。
当我打印数组时,看起来像这样:
"<ObjectsInfo: 0x1c5249f0>", "<ObjectsInfo: 0x1c524940>", "<ObjectsInfo: 0x1c5248e0>", "<ObjectsInfo: 0x1c524890>", "<ObjectsInfo: 0x1c524840>", "<ObjectsInfo: 0x1c524a90>",
当我打印出第一个对象的名字时:
ObjectsInfo *object = [objectModelName objectAtIndex:1]; NSLog(@"%@",object.str_name);
它打印出来:Alpha
给出的值是例子。 我想按字母顺序对数组objectModelName进行sorting。
我怎么做?
我试过这个:
[objectModelName sortUsingSelector:@selector(compare:)];
我如何做基于str_name的自定义sorting,以便它按字母顺序? 需要一些指导…真的很感谢任何帮助…
尝试这个。
NSArray *sortedArray = [objectModelName sortedArrayUsingComparator:^(ObjectsInfo *firstObject, ObjectsInfo *secondObject) { return [firstObject.str_name compare:secondObject.str_name]; }];
[objectModelName sortUsingSelector:@selector(compareItem :)];
在ObjectsInfo.h中
- (NSComparisonResult)compareItem:(ObjectsInfo *)anotherItem;
在ObjectsInfo.m中
- (NSComparisonResult)compareItem:(ObjectsInfo *)anotherItem{ return [self.str_name compare:anotherItem.str_name options:NSCaseInsensitiveSearch]; }