見出し画像

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によるデータの保存方法をコードを交えながら書きます。

この記事が気に入ったらサポートをしてみませんか?