【发布时间】:2013-09-29 19:39:23
【问题描述】:
数组方法看不懂indexOfObject:inSortedRange:options:usingComparator:
更具体地说,indexOfObject 属性。
根据文档,传入的值应该是An object for which to search in the array. 但这没有意义.. 如果我已经引用了该对象,为什么还要在数组中搜索它?是指对象类型吗?
我有一个对象数组,而我所拥有的只是这些对象的一个属性。 IE。我有一系列汽车,当我的汽车 ID 为 12345 时,我需要找到汽车对象。
我会将什么传递给indexOfObject 属性的方法?这是我正在尝试的
MyCarObject *searchObject;
NSUInteger findIndex = [sortedArray indexOfObject:searchObject
inSortedRange:searchRange
options:NSBinarySearchingFirstEqual
usingComparator:^(id obj1, id obj2)
{
return [obj1 compare:obj2];
}];
但这显然不会获得基于 ID 的对象.. 它似乎会给我我已经引用的属性的索引,这似乎毫无意义....
如果这不是正确的方法,那么我应该使用什么?我需要对对象数组使用二进制搜索并提取对该对象的引用。我所拥有的只是一个可以比较的属性。
【问题讨论】:
标签: iphone ios objective-c ipad nsarray