Instance Method インスタンスメソッド

index(of:inSortedRange:options:usingComparator:)

Returns the index, within a specified range, of an object compared with elements in the ordered set using a given NSComparator block. 順序集合の中の要素とある与えられたNSComparatorブロックを使って比較された、指定された範囲内での、あるオブジェクトのインデックスを返します。

Declaration 宣言

func index(of object: Any, 
inSortedRange range: NSRange, 
   options opts: NSBinarySearchingOptions = [], 
usingComparator cmp: (Any, Any) -> ComparisonResult) -> Int

Parameters パラメータ

object

An object for which to search in the ordered set. それを求めてこの順序集合の中を検索することになるオブジェクト。

If this value is nil, throws an invalidArgumentException. この値がnilならば、invalidArgumentExceptionをスローします。

range

The range within the array to search for object. 配列内のこの範囲をobjectについて検索することになります。

If r exceeds the bounds of the ordered set (if the location plus length of the range is greater than the count of the ordered set), throws an rangeException. r が順序集合の境界を超えるならば(位置に範囲の長さを足したものが順序集合の総数より大きいならば)、rangeExceptionをスローします。

opts

Options for the search. For possible values, see NSBinarySearchingOptions. 検索のオプション。可能な値としては、NSBinarySearchingOptionsを見てください。

cmp

A comparator block used to compare the object obj with elements in the ordered set. 比較用ブロック、オブジェクト obj を順序集合の中の要素と比較するのに使われます。

If this value is NULL, throws an invalidArgumentException. この値がNULLならば、invalidArgumentExceptionをスローします。

Return Value 戻り値

If the insertionIndex option is not specified: insertionIndexオプションが指定されないならば:

  • If the object is found and neither firstEqual nor lastEqual is specified, returns the matching object's index. objectが見つけられてfirstEquallastEqualも指定されないならば、合致しているオブジェクトのインデックスが返ります。

  • If the firstEqual or lastEqual option is also specified, returns the index of equal objects. firstEqualまたはlastEqualオプションもまた指定されるならば、等しいオブジェクトのインデックスが返ります。

  • If the object is not found, returns NSNotFound. オブジェクトが見つけられないならば、NSNotFoundが返ります。

If the insertionIndex option is specified, returns the index at which you should insert obj in order to maintain a sorted array: insertionIndexオプションが指定されるならば、あなたがソートされた配列を整備する目的でobjを挿入すべきところのインデックスを返します:

  • If the object is found and neither firstEqual nor lastEqual is specified, returns the matching object’s index. objectが見つけられてfirstEquallastEqualも指定されないならば、合致しているオブジェクトのインデックスが返ります。

  • If the firstEqual or lastEqual option is also specified, returns the index of the equal objects.

  • If the object is not found, returns the index of the least greater object, or the index at the end of the array if the object is larger than all other elements. オブジェクトが見つけられないならば、最小のより大きいオブジェクトのインデックス、またはオブジェクトが全ての他の要素より大きいならば配列の最後のインデックスが返ります。

Discussion 議論

The elements in the ordered set must have already been sorted using the comparator cmp. If the ordered set is not sorted, the result is undefined. 順序集合がソートされていないならば、結果は未定義です。

See Also 参照

Accessing Set Members 集合メンバにアクセスする