文書   >   Swift   >  String   >   Index   >   init(_:within:)
イニシャライザ
init(_:within:)
指定された UTF16View 位置に正確に対応する、与えられた Unicode スカラービュー内にインデックスを作成します。
宣言
パラメータ
sourcePosition | 文字列の utf16 ビュー内の位置。utf16Index は、String(unicodeScalars).utf16.indices の要素でなければなりません。 |
unicodeScalars | その中で新しい位置を見つけるべき UnicodeScalarView。 |
議論
以下の例では、文字列の utf16 ビュー内の空白の位置を見つけて、その位置を文字列の unicodeScalars ビュー内のインデックスに変換します。
llet cafe = "Café 🍵"
let utf16Index = cafe.utf16.firstIndex(of: 32)!
let scalarIndex = String.Index(utf16Index, within: cafe.unicodeScalars)!
print(String(cafe.unicodeScalars[..<scalarIndex]))
// Prints "Café"
sourcePosition として渡されたインデックスが unicodeScalars 内で正確に対応する位置を持たない場合、イニシャライザの結果は nil0000 です。 たとえば、UTF-16 代替ペアの続きの代替の位置を変換しようとすると、nil になります。
トップへ
トップへ
トップへ
トップへ