配列メソッドがわかりませんindexOfObject:inSortedRange:options:usingComparator:
より具体的には、indexOfObject
プロパティ。
ドキュメントによると、渡された値は次のようになるはずですがAn object for which to search in the array.
、これは意味がありません..オブジェクトへの参照が既にある場合、なぜ配列でそれを検索するのでしょうか? それはオブジェクトタイプを意味しますか?
私はオブジェクトの配列を持っていますが、私が持っているのはそれらのオブジェクトのプロパティだけです。すなわち。車の配列があり、車の ID が 12345 のときに車のオブジェクトを見つける必要があります。
indexOfObject
プロパティのメソッドに何を渡しますか? ここに私がしようとしているものがあります
MyCarObject *searchObject;
NSUInteger findIndex = [sortedArray indexOfObject:searchObject
inSortedRange:searchRange
options:NSBinarySearchingFirstEqual
usingComparator:^(id obj1, id obj2)
{
return [obj1 compare:obj2];
}];
しかし、これは明らかにIDに基づいてオブジェクトを取得するつもりはありません..私がすでに参照しているプロパティのインデックスを私に与えるように見えますが、これは無意味に思えます....
これが正しい方法ではない場合、何を使用すればよいですか? オブジェクトの配列に対してバイナリ検索を使用し、そのオブジェクトへの参照を引き出す必要があります。そして、私が持っているのは比較するプロパティだけです。