ssk blog

バンコクで働くエンジニアのメモ

swiftで[weak self]をguardするときの書き方ってどうするのが良いのだろう?

[Swiftを書き始めたときに悩んだことシリーズ]

今年の始めから本格的にiOSアプリを作り始めて、「swiftで[weak self]をguardするときの書き方ってどうするのが良いのだろう?`」って思いました。
調べたり、人に聞いたりすると以下のパターンがありました。(他にもあると思いますけど)

書き方①
guard let `self` = self else { return }
書き方②
guard let me = self else { return }
書き方③
guard let wSelf = self else { return }
書き方④
guard let strongSelf = self else { return }

自分は、書き方①を使っています。

理由
  • 別の変数名をつけたくない
  • シンタックスハイライトを有効にするため


エウレカのコーディング規約でも `self` にしているようです。


ただし、これはバグという情報も見つけました。。。



WWDC2017でAppleのエンジニアに知り合いが聞いたら、`self`でも問題ないということを言っていたので、大丈夫かなと思っています。