文書   >   Swift   >   Swift 標準ライブラリ   >   Collections   >   Sequence and Collection Protocols   >   MutableCollection


プロトコル


MutableCollection


サブスクリプト割り当てをサポートするコレクション。





宣言


protocol MutableCollection where Self.SubSequence : MutableCollection


概観


MutableCollection に準拠するコレクションは、それらの要素の値を変更する機能を取得します。この例は、学生の配列内の名前の 1 つを変更する方法を示します。


var students = ["Ben", "Ivy", "Jordell", "Maxime"]
if let i = students.firstIndex(of: "Maxime") {
    students[i] = "Max"
}
print(students)
// Prints "["Ben", "Ivy", "Jordell", "Max"]"


個々の要素の値を変更するだけでなく、変更可能なコレクション内の要素のスライスの値を変更することもできます。たとえば、サブスクリプトされた部分シーケンスに対して、変更可能な sort() メソッドを呼び出して、変更可能なコレクションの 一部 を並べ替えることができます。整数の配列の前半を並べ替える例を次に示します。


var numbers = [15, 40, 10, 30, 60, 25, 5, 100]
numbers[0..<4].sort()
print(numbers)
// Prints "[10, 15, 30, 40, 60, 25, 5, 100]"


MutableCollection プロトコルでは、コレクションの要素の値の変更は許されていますが、コレクション自体の長さは変更できません。要素の追加または削除が必要な操作については、代わりに RangeReplaceableCollection プロトコルを参照してください。


MutableCollection プロトコルへの準拠


独自のカスタムコレクションに MutableCollection プロトコルへの準拠を追加するには、型のサブスクリプトをアップグレードして、読み取りと書き込みの両方のアクセスをサポートして下さい。


その後、MutableCollection インスタンスのサブスクリプトに保管された値は、同じ位置でアクセス可能でなければなりません。つまり、変更可能なコレクションインスタンス a、インデックス i、および値 x の場合、以下のコードサンプルの 2 つの割り当てセットは同等でなければなりません。


a[i] = x
let y = a[i]

// Must be equivalent to:
a[i] = x
let y = x


トピックス





関連した型





インスタンスメソッド





サブスクリプト


関連





以下からの継承


Collection





準拠している型


以下も見よ





コレクションの変わりやすさ






目次
Xcode 10 の新機能

  • SDK
  • Xcode 8.0+
  • フレームワーク
  • Swift 標準ライブラリ
  • 宣言
  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)












    トップへ(Swift 標準ライブラリ)