我有一个名为categories的NSMutableArray,它包含一个名为CategoryItem的对象.CategoryItem有一个NSString属性,*text.现在,我将如何根据元素的text属性对此数组进行排序?对不起,如果这没有意义,我对这一切都是新手.
我试过这个:
[categories sortUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
Run Code Online (Sandbox Code Playgroud)
但它失败了.
Ext*_*ire 10
那是因为你试图根据每个对象而不是它包含的字符串对数组进行排序.
您需要使用NSSortDescriptor的实例来对数组进行排序.您可以创建一个这样的:
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"text" ascending:YES];
Run Code Online (Sandbox Code Playgroud)
然后:
[categories sortUsingDescriptors:[NSArray arrayWithObject:descriptor]];
Run Code Online (Sandbox Code Playgroud)
试试这个:
[categories sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
CategoryItem object1 = (CategoryItem)obj1;
CategoryItem object2 = (CategoryItem)obj2;
return [object1.text compare:object2.text];
}];
Run Code Online (Sandbox Code Playgroud)
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
3982 次 |
| 最近记录: |