コピペでうごく! iPhoneアプリ:Lesson_3 『コアデータ(CoreData)へ保存
1:はじめに
「Lesson_3:講座も中盤です。次はデータの永続化とリスト化を実装しましょう!」
みなさん、こんにちは・こんばんは!「コピペでうごく! iPhoneアプリ」講座へようこそ。
ナビゲーターのドッチです。
前回のLesson_2では、iPhoneのカメラを使用してバーコードをスキャンする機能を実装しました。このスキャン機能を基にして、Lesson_3では「スキャンしたデータを保存してリスト化する」実務的な機能を学んでいきます。
具体的には、以下の内容を実装します:
1. CoreDataの基本操作
• スキャンしたデータを保存する方法(Create)。
• 保存されたデータをリストとして表示する方法(Read)。
2. データの永続化の仕組み
• データがアプリ終了後も保持されるようにする「永続化」の仕組みを学びます。
3. リストの作成と管理
• 保存したデータを美しくリスト化し、ユーザーが見やすい形で表示する方法を学びます。
これにより、スキャンしたバーコードデータを管理できるアプリの基本的な構造が完成します!
今回も前回同様に指定されたコードをそのままコピーして貼り付けるだけで、簡単に動くバーコードスキャンが実装できます。。
※コピペするコードは、【コピペ!】と目印をつけておきました。
「アプリが動いた!」という感動をぜひ体験してください。
では、始めましょう!
完成版のアプリを無料公開中!
本講座で作成するアプリの完成版は、AppStoreで無料公開しています。
以下のリンクからダウンロードして事前にどんなアプリを作るのかを体験してください。
・アプリ名:『CoreScan コアスキャン』
【ご注意!】Lesson_2を受講されていない方へ
本講座では、Lesson_2で実装したバーコードスキャン機能(ScannerView.swift)とInfo.plist の編集が必須です。そのため、Lesson_3だけではスキャン機能を利用できず、コード実行時にエラー(例えば「Cannot find ‘ScannerView’ in scope」など)が発生します。
※コアデータへの保存やリスト表示のコードだけが必要な方は、このLesson_3だけでも問題なく進めることができます。
Lesson_2で提供した「ScannerView.swift」のコードは、今回の保存機能を動作させるための基盤となりますので、ぜひ受講をご検討ください。
2: 前提条件
この講座を進めるには以下の環境が必要です:
1. パソコン: Macintosh OSバージョン Sonoma以上
2. Xcode: バージョン15
3.スマホ: iPhone11以降
4. iOS: バージョン17.5以上
5.Apple ID: 事前に取得が必要です。
6.アプリを完成させるためには、Lesson_1のコードが必須となります。
※バーコードスキャンのコードだけが欲しい方はこのLesson_2だけでも機能します。
Xcodeがインストールされていない場合は、Mac App Storeからダウンロードしてください。Swiftの知識がなくても、この講座を進めることができます。
3:本講座のご利用に関するガイドライン
本講座で提供するコードや画像、アプリ名などは、受講者の皆さまが学習や個人プロジェクトで自由にご活用いただけます。
アプリの開発や改善、学習の過程でご自身のプロジェクトに組み込むことも大歓迎です。
ただし、以下の点にご留意いただき、他の受講者と公平な学習環境を保つためのご協力をお願いいたします。
本講座の利用規約について(要約版)
本講座で提供するコードや画像は学習目的で自由にお使いいただけますが、以下のルールを守ってご利用ください:
1.本講座で提供するコードを使用して開発したアプリを公開・販売することは問題ありません。
2. 提供コードや画像の再配布および転売は禁止です。
3. 本講座で使用するアプリ名「CoreScan」や提供画像は講座外での利用を禁止します。
4. 講座そのものを模倣して販売する行為は禁止です。
5.本講座の内容(コード、画像、解説部分など)をそのまま他のサイトや書籍に転載することは禁止です。
6.提供画像(アイコンやUIサンプル画像など)は、講座内での使用を目的としています。再配布・販売は禁止です。
7.本講座の著作権は著者に帰属しますが、適切に使用いただければ特別な申請なしに個人利用やアプリ開発にご活用いただけます。
詳細な利用規約は、こちらをご確認ください。
4: 今回のアプリの構成
このLesson_3で作成するアプリでは、Lesson_1で作成したコアデータへ保存タブ(3番目のタブ)のリンク先を開いた画面に具体的な機能を実装していく流れになります。
コアデータへ保存の画面構成
このコアデータへの保存機能の画面構成は以下とります。
◇ コアデータへ保存 トップページ
• コアデータへ保存タブをタップした際に開くページです。
• バーコードリーダーの起動
• バーコードリーダーで取得したバーコードの値を受け取って表示します。
• 取得したバーコードの値を、コアデータへ保存します。
◇ データをリスト化 ページ
• コアデータに保存されたデータをリストで表示します。
• シンプルに、バーコードの値 と 保存された日付(例:2025年1月1日)を表示します。
5:それでは、早速始めましょう!
1. アプリのファイルを起動します。
Lesson_1で使用したアプリのファイルを開いてください。
まず最初に前回作成した「3_SaveCoreData」ディレクトリ内のファイルを使用しますが、まずは最初にコアデータを使用できるように設定をしていきます。設定とはいえ、簡単なのでご安心ください。
2. コアデータ (CoreData) とは?
コアデータとは、iPhoneアプリ内でデータを保存・管理するための強力なフレームワークです。たとえば、バーコードのスキャン結果やユーザーが入力したメモなどのデータを、アプリ終了後も保持したい場合に使われます。データベースの操作を意識することなく、直感的にデータの永続化や管理ができるため、初心者にも扱いやすい仕組みです。
本Lessonでは、コアデータを利用して以下を実現します:
1. スキャンしたデータの保存:バーコードの値と種類をコアデータに保存します。
2. 保存したデータの表示:保存したデータをリスト形式で画面に表示します。
3. コアデータを使用するための準備
コアデータをアプリに組み込むには、いくつかの設定が必要です。本Lessonでは、以下のステップを順に説明していきます。
• A: コアデータの設定ファイルの修正
初期状態で必要なファイルは作成されていますが、少しだけ修正が必要です。
• B: ENTITIES(データを保存する箱)とAttribute(保存するデータの属性)の定義
スキャンしたデータやその種類、保存日時など、保存するデータの項目を設定します。
4.A: コアデータの設定ファイルの修正
Xcodeでは、新規プロジェクトを作成時にコアデータを選択すると、基本的な設定ファイル(Persistence.swift)が自動生成されます。このファイルは、コアデータを利用するために必要な設定が含まれていますので、ゼロから作成する必要はありません。以下の手順で、コアデータの設定を簡単に修正して使えるようにしましょう。
手順 1: コアデータ設定ファイルを確認
1. プロジェクト内に自動生成されている Persistence.swift を探してください。
2. このファイルには、コアデータを利用するための基本設定が既に記述されています。
手順 2: サンプルデータ生成部分をコメントアウト
1. Persistence.swift を開きます。
2. 画像の赤枠で囲ったコード部分を探し、削除orコメントアウトしてください。
5.B: ENTITIES(データを保存する箱)とAttribute(保存するデータの属性)の定義
ENTITIES(データを保存する箱):エンティティ
• エンティティとは、コアデータに保存するデータの種類を定義するものです。
• 例えば、「ユーザー情報」「商品」「注文履歴」などのデータを扱う場合、それぞれをエンティティとして定義し、別々の箱に整理して保存します。。
• **エンティティは「テーブル」**に似た概念で、データベースの1つの表のようなものです。
Attribute(保存するデータの属性):アトリビュート
• アトリビュートとは、エンティティが持つ個別のデータ要素を表します。
• 保存されるデータの具体的な種類を定義します。
• アトリビュートに定義される内容は、データの名称と個別のデータ型です。
例:Attribute:データの名称 = scannedData(読み取ったバーコードの値)
Type:個別のデータ型 = String(文字列)
では早速、コアデータの設定を進めていきます。
今回、定義するコアデータの内容:
・ENTITIES = Item (今回は初期設定のまま使用しましょう)
・Attributes:今回のアプリは、5つのデータを使用します。
Attribute = codeType / Type = String (読み取ったバーコードの種類)
Attribute = createdAt / Type = Date (コアデータへ保存された日時)
Attribute = memo / Type = String (一言メモなどを保存)
Attribute = scannedData / Type = String (読み取ったバーコードの値)
Attribute = uuid / Type = UUID (データを個別に識別するための個別の番号)
以上でコアデータを使用する準備が整いました。
最後にXcodeを再起動してください。
コアデータに変更を加えた場合、Xcodeを再起動しないと変更が反映されません。
では、今回のコードの実装に入っていきましょう!
6. 「SaveToCoreDataView_Top」ファイルを修正します。
コアデータへ保存のトップページは「SaveToCoreDataView_Top」ファイルです。こちらを以下のデザインにします。
4. 【コピペ!】SaveToCoreDataView_Top.swift
ここから先は
¥ 1,000
この記事が気に入ったらチップで応援してみませんか?