Swiftでは
-
構造体(struct)
-
クラス(class)
の2つでオブジェクトを定義できますが、使い分けには明確な違いがあります。
今回は使い分けの基準を簡単に説明していきたいと思います!
使い分けの基準
structを使うべき場面
-
データの入れ物として使いたいとき
-
値渡しの方が直感的なとき
-
イミュータブルなデータを扱いたいとき
-
他の型に継承させる予定がないとき
例: モデル(User, Productなど)で変化しないデータ
struct User {
let name: String
let age: Int
}
Class を使うべき場面
オブジェクト同士で共有したい状態があるとき
継承して機能を拡張する必要があるとき
例:
管理クラス(ViewModel)
class NetworkManager {
var isConnected: Bool = false
func connect() {
isConnected = true
}
}
まとめ
使い分けまとめ | |
---|---|
Struct | 値型・コピー・軽量データ向き |
Class | 参照型・共有向き |
以上Struct と Class の使い分けでした!、ぜひ参考にしてみてください!✌️