さてさて、本日はデータ保存の続きをやっていきましょう。

本当はここでテキストファイル型の保存をやる予定だったのですが、考えていたら少し違和感を覚えまして。

① テキストファイル型で保存ができたとする
② 一覧画面でテキストファイルをザザッと呼び出す
③ 編集画面へひとつのテキストファイルの情報を渡す
④ 編集画面で保存すると、テキストファイルが更新される

この②の部分で、テキストファイル一覧を取得するということが、イマイチしっくりこないのです。

ニャンコ先生「ファイル名に色々ルールを作らないと、管理が大変そうじゃニャ」

そうなんです。これがなんだかダサい。

「結局、データベースで管理したほうが良いんじゃないの?」ということになってしまったので、そっちで進めていくことにします。

ということで、データベース。

iOSには「Core Data」という仕組みがあって、それを使えばデータベースをアプリ内に設置することが可能です。

ただ、設定が鬼のようにムズカシイ上に、アプリ制作開始時に「Use Core Data」なるチェックボックスをオンにしておかないと諸々の自動設定が行われないようで、そんなこと知りもしなかった現在のアプリファイルはデータベース非対応状態、ここで世代交代することになりました。安らかに眠ってくださいませ、初代様。

「Use Core Data」のチェックをオンにしてアプリ開発をはじめると、あらかじめサンプルとしてのデータベースの「モデル(枠の設定)」と「読み書きの機能」が用意された状態になっています。

では、そのサンプルをありがたく改造させていただいて、と。

・ランダム番号
・日付
・テキスト

を保存できるようにしてみました。

ZStackでお試しテキストをペタリ、うん、ちゃんと保存されていますね。
(とか言っていますが、なぜかライブプレビューではプレビュー画面がクラッシュします。シミュレーターじゃないとテストできないアプリになってしまいました……)

保存はできたので、次回は削除と編集をチェックしつつ、そろそろ大きくなってきた各ビューの機能を整理していこうと思います。


Apple Developer Documentation
Framework > Core Data
Persist or cache data on a single device, or sync data to multiple devices with CloudKit.
外部リンクを開く