Methods
昨日に引き続き https://docs.swift.org/swift-book/LanguageGuide/Methods.html を読む。
- 構造体と列挙型にメソッドを定義できることがCやObjective-Cとの大きな違い
- どの型のインスタンスにも
self
と呼ばれる暗黙のプロパティがある - 構造体と列挙型では
mutating
キーワードをfunc
の前に書いてオプトインする - 構造体と列挙型では
mutating
なインスタンスメソッドはlet
したインスタンスでは呼べない mutating
なインスタンスメソッドでself
書き換えself = Point(x: x + deltaX, y: y + deltaY)
- 型メソッドは要するにObjective-Cでのクラスメソッドのこと
- 型メソッドでの
self
は型そのものを参照する - 返り値を無視しても間違いじゃないメソッドには
@discardableResult
属性
self
はプロパティやったんや…
this
ポインタのキーワードが違うだけやなかった…
という初めて知る事実に驚愕