LoginSignup
0
1

More than 1 year has passed since last update.

こんな書き方もできるSwift

Posted at

init

class Sample {

 static let sample:Sample = .init()
 private init() {}

}

ここではSampleクラスの中で、そのインスタンスを内部にあるsampleに代入している。その際、.init()がイニシャライザとして使われており、ドットの前は self = Sample を指す。動作の上では.init()で十分で、private initはなかったとしても問題ない。ただし、ここではスコープを限定するためにinitに対してprivateという属性をつけている。

普段インスタンスを別クラスからしか作った試しがなく、自身をクラス内の変数にインスタンスとして代入するというのはみたことがありませんでした。またinitメソッドも.init()のようには作ったことがなく、スペースを取って別物のように扱っていたので、インスタンスを作る際に.init()で済ませられるのはとても新鮮に感じられました。

追記していきます。

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