文書   >   Swift   >   Swift 標準ライブラリ  >     手動でメモリ管理   >   UnsafeBufferPointer   >   index(_:offsetBy:)
インスタンスメソッド
index(_:offsetBy:)
与えられたインデックスから指定された距離にあるインデックスを返します。
宣言
パラメータ
i | コレクションの有効なインデックス。 |
distance | オフセット i への距離。コレクションが BidirectionalCollection プロトコルに準拠しない限り、distance は負であってはなりません。 |
戻り値
インデックス i からの distance によるインデックスのオフセット。distance が正の場合、これは index(after:) への distance の呼び出しの結果と同じ値です。distance が負の場合、これは、abs(distance) が index(before:) を呼び出した結果と同じ値です。
議論
以下の例では、文字列の開始インデックスから 4 つ進んだインデックスを取得し、その位置にある文字を出力します。
let s = "Swift"
let i = s.index(s.startIndex, offsetBy: 4)
print(s[i])
// Prints "t"
distance として渡される値は、コレクションの境界を超えて i をオフセットしてはなりません。
複雑さ:コレクションが RandomAccessCollection に準拠している場合は O(1)。それ以外の場合、O(k)、ここで k は distance の絶対値です。
この文書のコメントは、Collection から継承されました。
関連
プロトコルから
RandomAccessCollection
トップへ
トップへ
トップへ
トップへ
トップへ