0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【SwiftUI】 × Core Data入門:UserDefaultsからステップアップして超簡易的なメモアプリを作ってみた

Posted at

はじめに
今までは UserDefaults や @AppStorage を使ってデータを保存していましたが、
これからチームで 大容量のデータを扱うアプリ を作っていく上で
Core Data は避けて通れないと思い、触ってみました。
最初は DataModelの設定 で少しつまずきました。

Core Dataとは?
Apple純正のデータ永続化フレームワークです。
UserDefaultsよりも複雑なデータ構造を扱え、
アプリを閉じてもデータがしっかり保存されます。

実装構成
今回は3つのファイルを作成しました👇
1️⃣PersistenceController.swift
→ Core Data全体を管理するクラス
2️⃣MemoViewModel.swift
→ データの追加・削除を担当
3️⃣MemoView.swift
→ UI部分(入力欄+リスト表示)

1️⃣ PersistenceController.swift
Core Dataの「土台」を作るクラスです。
.xcdatamodeld の名前(今回は "Model")を指定します。
スクリーンショット 0007-10-13 22.39.35.png
2️⃣ MemoViewModel.swift
データの追加・削除を行うロジック部分です。
(ViewとModelの仲介役=ViewModel)
スクリーンショット 0007-10-13 22.42.14.png
3️⃣ MemoView.swift
UI部分。
TextFieldで入力 → ボタンで保存 → Listで表示・削除できます。
スクリーンショット 0007-10-13 22.41.59.png
4️⃣ Appエントリーポイント
Core Dataの context を全体に渡しています。
この.environmentがないと他のファイルで使えません。
スクリーンショット 0007-10-13 22.42.30.png
🔍 完成イメージ
Simulator Screenshot - iPhone 15 Pro Max - 2025-10-13 at 23.05.16.png
入力 → 「追加」ボタンで保存
下のリストに自動で反映
スワイプで削除も可能
💭 まとめ
UserDefaults は「小さいデータ向け」
Core Data は「複数のオブジェクト・大量データ向け」
MVVM構成にすると責務が明確でテストもしやすい!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?