作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我知道如何按字母表对数组进行排序,但我想按其中对象的受欢迎程度对我的 NSMutableArray 进行排序。想象一个包含以下对象的数组:
我想按受欢迎程度对这些对象进行排序并创建一个这样的数组:
有没有一种既好又快捷的方法来做到这一点?也许是 NSSortDescriptor 的关键? (找不到那个)
谢谢
最佳答案
简而言之,为了简洁起见,我对数组文字使用了新语法。
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSArray *ar = @[@"B", @"A", @"C", @"B", @"B", @"A"];
NSCountedSet *countedSet = [NSCountedSet setWithArray:ar];
NSArray *sorted = [ar sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
NSInteger diff = [countedSet countForObject:obj1] - [countedSet countForObject:obj2];
if (diff < 0)
return NSOrderedDescending;
else if (diff > 0)
return NSOrderedAscending;
else
return NSOrderedSame;
}];
NSLog(@"%@", ar);
NSLog(@"%@", sorted);
}
return 0;
}
输出
2012-05-08 07:25:18.465 Sort[20434:303] (
B,
A,
C,
B,
B,
A
)
2012-05-08 07:25:18.468 Sort[20434:303] (
B,
B,
B,
A,
A,
C
)
关于iphone - 根据受欢迎程度对 NS(Mutable)Array 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10500114/
我目前正在研究数据库,我看到 degree 和 cardinality 用作相同的术语,或在某些其他学位定义为否。关系中涉及的实体的数量,并进一步分类为一元、二元和三元。 某些放置度数定义为关系类型的
我是一名优秀的程序员,十分优秀!