🙌
SwiftUI 基本的使い方(随時追記予定)
(作成中につき、途中で記事内容の変更、記事自体が分かれる可能性あり)
(自分の備忘録用)
Abstract
2019年に登場した、iOS13以降で使用可能なUIフレームワーク。
従来、iOS開発に使用されてきたUIKitと違い、簡潔なコードでUIの構成が可能。
<参考>
メリット
- デフォルトでダークモードに対応
- UIKitのように対応せずとも対応できる
- UIKitよりも少ないコードでViewの記述が可能
- UIKitと組み合わせて使用することが可能
- 多少の互換性確保のためのコードが必要
デメリット
- UIKitと書き方が大きく異なる
- 汎用的な書き方ができるUIKitと事なり、MVVMモデルを全面的に取り入れた作りになっているため、独自の要素が多い
- iOS13以降でしか使えない(それ以前は従来のUIKitでのみ実装可能)
- また、iOS13でも不安定な要素があるらしく、使いづらい
- ただし、iOSは最新OSの使用率が高い(現在、iOS14以上の使用率が99%以上)ため、あまり考慮しなくてもよいのかも
- Apple、っぽいUIになってしまい、オリジナルUIにしにくい(現在調査中)
- OS依存が強く、実行するOSによってUIが異なってしまう場合がある
- (対処方法はあるかもしれないが、現在調査中)
UIKitとの違い
-
宣言に使う*『箱』*が違う
- UIKit: Class
- SwiftUI: Struct
それぞれの「箱」の特徴が適用される
例: - Classは、デフォルトで自身のプロパティの値を変更することは可能
- Structは、デフォルトでは自身のプロパティの値を変更することは不可能
- mutatingキーワードを入れることで編集が可能になる
-
SwiftUIを使う際は、@Stateを入れることで編集が可能に
<【Swift】構造体とクラスの使い分け>
-
AutoLayoutを宣言する必要なし
- アプリが自動的に調整してくれる?
Discussion