LoginSignup
0
1

More than 1 year has passed since last update.

【Swift】mutatingとは

Last updated at Posted at 2021-07-28

概要

mutatingは構造体のストアドプロパティの値を変更する為に、再代入することを示す明示的なキーワードです。その為参照型であるクラスには使用せず、再代入を必要とする値型のみに使用します。

使用例

前述した通り、値型である構造体ストアドプロパティに変更を加えるとエラーになります。参照型であるクラスの場合はエラーにはなりません。

struct numberStruct {
    var number: Int

    init(number: Int){
        self.number = number
    }

     func plus() {
        self.number += 1 // コンパイルエラー
    }
}
class numberClass {
    var number: Int

    init(number: Int) {
        self.number = number
    }

    func plus() {
        self.number += 1 // クラスの場合エラーにならない
    }
}

mutatingを使用することで値を変更することができます。

struct numberStruct {
    var number: Int

    init(number: Int){
        self.number = number
    }

    mutating func plus() {
        self.number += 1
    }
}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1