LoginSignup
0
2

More than 1 year has passed since last update.

イニシャライザの4種類(Swift)

Posted at

Swiftのイニシャライザには4つの種類がある

①デフォルトイニシャライザ
②メンバーワイズイニシャライザ
③カスタムイニシャライザ
④失敗可能イニシャライザ

デフォルトイニシャライザとは

デフォルトイニシャライザとはデフォルトでストアドプロパティが入っているので引数がなくてもインスタンス化できるイニシャライザのこと。
暗黙的にイニシャライザが実装される

struct Fish {
   var area = "北海道"
  var price = 3000
}

メンバーワイズイニシャライザとは

構造体にしか使われないイニシャライザ。型指定のみのデータしか入っていない場合に使われる。
通常はinit()で初期化処理をしなくてはならないが、この場合は書かなくてもインスタンス化できてしまう

  struct Fish {
   var area:String
  var price:Int
     //init(area:String,price:Int) {
       //self.area = area
       //self.price = price
    //}
 通常はコメントアウト部分必要だがなくてもいける
}
 let fish = Fish(area:"北海道",price:3000)

カスタムイニシャライザとは

通常のinit()を使って初期化処理をするイニシャライザのこと

失敗可能イニシャライザとは

文字通り失敗可能なイニシャライザ。


struct Fish{
     var area:String
       init?(area:String?) {
             gurad let a = area else {//アンラップする処理
                return nil//何も入っていなければnilを返す。
       }
     self.area = a
  }
}

初期化処理時にinit?で値が入ってこない場合は処理をスキップするようにし、その場合は後のguard let else構文もしくはif let などでアンラップしてあげてnilをかえしてあげる。

0
2
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
2