谓词是在NSSet中查找对象的最有效方法吗?
阅读关于NSSet
的文档,它说:
当元素的顺序不重要时,您可以使用集合作为数组的替代,并且测试集合中是否包含对象时的性能是一个考虑因素。
这正是我需要的,因为表现对我来说非常重要。
所以我已经覆盖了最终会在NSSet中填充的类中的哈希值。
- (NSUInteger)hash
{
return [[self recordDate] hash];
}
换句话说,recordDate在我的情况下总是唯一的,我期望在这里有独特的哈希值。
根据文档,似乎我可以在NSSet / NSMutableSet中查找对象的唯一方法是通过谓词。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"recordDate == %@", recordDate];
NSSet *objectsWithDesiredWeek = [mySet filteredSetUsingPredicate:predicate];
我不确定,如果我不俯视的东西。 这是在NSSet中查找对象的最有效方法吗? 有没有像键/值?
我想我不明白这个问题。 NSSet具有内置方法containsObject。 为什么这不符合你的需求?
链接地址: http://www.djcxy.com/p/85157.html上一篇: Are predicates the most efficient way to lookup an object in NSSet?