- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在立即假设这是重复之前,请继续阅读。
我想对一个大的 NSMutableOrderedSet<NSString*>
进行排序以高效的方式。
我知道如何对 NSMutableOrderedSet<SomeObject*>
进行排序使用 NSSortComparator
并将 key 设置为SomeObject
的相关成员.
我也知道如何对 SomeObject
的数组进行排序使用 sortUsingComparator:^(id firstObject, id secondObject).
我也知道如何对数组进行排序,例如 NSNumber
使用 sortedArrayUsingSelector:@selector(compare:)
但我想不通的是如何对 NSMutableOrderedSet
进行排序当项目是原生 Obj-C 对象时,例如 NSString 而不是用户定义的对象:
NSortComparator
使用 key ,但是如果设置内容是 NSString
则没有 key 而不是自定义对象?所以这个不能用? (我注意到 NSSortComparator
有一个 SEL
属性,因此我认为可以将它设置为 NSString:compare
,但它是只读的)。sortUsingComparator
对大型数组(例如大约 50,000 项)进行排序很慢(几秒钟)但是排序 NSMutableOrderedSet
使用 NSSortComparator
几乎可以立即包含相同类型的元素.因此,如果速度慢,我不想使用 sortUsingComparator 进行排序。NSMutableOrderedSet
的方法例如 sortedArrayUsingSelector
.所以我的问题是,如果我不能使用 sortDescriptor
,我该如何以有效的方式对集合进行排序?如果sortUsingComparitor
慢吗?
我可以创建一个 DummyObject
只包含一个 NSString
并且有NSMutableOrderedSet<DummyObject*>
然后使用 NSSortComparator
排序,但这似乎很疯狂,所以必须有一种更简单的方法,但我看不到 API、文档或过去的问题是什么。
最佳答案
NSMutableOrderedSet<NSString*> *set = [[NSMutableOrderedSet<NSString*> alloc] init];
[set addObject:@"c"];
[set addObject:@"b"];
[set addObject:@"a"];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"self" ascending:YES];
[set sortUsingDescriptors:@[sortDescriptor]
关于ios - NSMutableOrderedSet<NSString*> 可以使用 NSSortComparator 进行排序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397700/
使用 NSMutableOrderedSet,我遇到了意外行为。 我在索引0处设置了一个对象,在接下来的调用中,我读出了索引0处的对象,我返回的指针怎么和我刚刚插入的指针不一样呢? - (void)s
我有一个 NSMutableOrderedSet,它看起来像这样: self.tableViewData = [[NSMutableOrderedSet alloc ]initWithObjects:
我有以下陈述 [[myListSet objectAtIndex:sender.tag] setValue:@"1" forKey:@"STATUS"]; 其中 myListSet 定义为 NSMut
我无法理解为什么我的有序集只保存了 1 个条目。 我的代码如下: let newInovice = NSEntityDescription.insertNewObjectForEntityForNam
array = [NSMutableArray arrayWithArray:[set allObjects]]; 这与 NSSet 一起工作,但如何让它与 NSMutableOrderedSet 一
我有这个for循环,p是一个NSManagedObject,fathers是一个对多关系,所以我需要将 NSMutableOrderedSet 转换为 [Family] 但它不起作用,为什么? for
在立即假设这是重复之前,请继续阅读。 我想对一个大的 NSMutableOrderedSet 进行排序以高效的方式。 我知道如何对 NSMutableOrderedSet 进行排序使用 NSSortC
我正在尝试实现一个通用的 Mutable Ordered Set 类型,它需要符合许多协议(protocol)才能与 Swift 中的 Array 和 Set 行为相同。首先要实现泛型类型元素需要符合
在 Swift 3 中,我希望能够创建一个允许我添加元素并使用 for element in 进行迭代的协议(protocol)。该协议(protocol)应该适用于 NSMutableSet 和 N
我是一名优秀的程序员,十分优秀!