Avatar
Swiftでの、classとstructの使い分けについての雑談ネタです 状態を持っているものはclass、ステートレスで静的に扱いたいものはstruct が原則になるかと自分は思ってます。 なお 状態 とは メンバにアクセスした時、返る結果が冪等でなくなる要因 。 つまり、ある型のメンバにアクセスして、その結果が常に同じでないならば、それは「状態を持っている」。 状態は必ずしもプロパティであるとは限らず、👇も「状態を持っている」といえる。 struct Hoge { var date: Date { return Date() } } ……となると、Hogeはclassであるべきなのか? どうなの? という部分で、ちょっと悩んでしまいまして。 みなさんはどうお考えかなーと聞いてみたくなりました。