Xcodeプロジェクト作成とSwiftDataストレージvol.2
はじめに
前回の記事で、持ち物管理アプリの開発にあたり要件定義の詳細を投稿しました。今回は実際にアプリ開発にはいるためのXcodeプロジェクト作成と、iOS17から使えるSwiftDataについて記載します。
開発環境
macOS Ventura 13.6
Xcode Version 15.0.1
Swift 5.9
Xcodeプロジェクト作成
Xcodeを開いてメニューバーの File -> New -> Project の順に選択します。
Appを選択します。
Product Name
この段階ではアプリ名を決めていないため、Product Name には 適当なプロジェクト名をいれます。
Interface
SwiftUI を選択します。
UIKitに比べると新しく、駆け出しのUIのため、不都合があったりバグがあったりします。しかし、宣言的に書ける点にメリットを感じています。難しいUIやアニメーションを組む予定がなければSwiftUIの方がおすすめです。
Language
言わずもがな、Swiftを選択します。
Storage
アプリ内にデータを保存するときの手法を選択します。今回私はSwiftDataを採用しました。詳細については次のセクションで話します。
最後にプロジェクトの保存場所を指定して create を押すとXcodeプロジェクトが作成されます。
余談ですが私がはじめてXcodeプロジェクトを作成する時、どこに保存すべきかさんざん悩んでいました。自分がわかりやすければどこでもいいのに…今思えばかわいいもんですね。
今はユーザー(rila)の直下にDevelopmentフォルダを作成してXcodeプロジェクトをまとめておいています。
SwiftDataについて
iOS 17.0 から使えるデータ永続化のフレームワークです。保存したモデルはアプリをアンインストールしない限り保存されます。従来からある CoreData の仕組みを応用して SwiftUI に最適化したものというイメージです。最大の特徴は SwiftUI View から直接データの追加・削除・更新を行えることです。
今回SwiftDataを採用した理由は主に3つです。
SwiftUI との相性が良いこと
最新の技術を試したい
iCloud と同期しやすいこと
先ほど述べたようにSwiftUI View から直接データの追加・削除・更新を行えるため、仲介者が不要な点が直感的にわかりやすくて好感を持ちました。最新の技術は文献が少ないのがデメリットです。その点、あくまで個人の主観ですが、CoreDataの後続ということもあり、大体ぶちあたるエラーは CoreData と同じようで、すぐに解決策を見つけられました。iCloudとの同期は今のところ考えていませんが、もしかしたらアプリで保存したデータをパソコンで加工したい日がくることもあるかもしれません。そんな時 CloudKit を使用して簡単に iCloud と同期が可能のようです。
さいごに
今回はXcodeプロジェクト作成とSwiftDataについて書きました。次の記事から具体的なSwiftDataによるデータの保存方法をコードを交えながら書きます。
この記事が気に入ったらサポートをしてみませんか?