ささお11今回は、ホットなデータベースサービス『Realm』を使ってみようかと思います。超簡単Todoアプリでお試しします!!(Todoアプリと呼んでいいのか怪しいレベルです。)*この記事は超初心者に向けたものなので、Realmの登場はかなり下の方になります。共有:Realmとはiosアプリのデータベースといえば『CoreData』というものあり、なんでもできて便利らしいのですが、めっちゃ難しいらしいです。『Realm』が人気を博しているようです。初心者に向いてるらしいです。詳しくは、こちらの素晴らしい記事をご覧ください。qiita.comプロジェクト名は『RealmApp』にしました。StoryBoardを開いてください。新しくUITableViewControllerを配置してください。それにUINavigationControllerを紐付けましょう。Controller』を選択。それができると、このような状態になります。最初に表示されるViewがわからなくなってしまっているので、指定してあげましょう。Controller』にチェック!!新しくUITableViewControllerを配置したので、それに対応したファイルも作成しましょう。CocoaTouchClassを選択してください。Nameはシンプルに『TableViewController』にしましょう!今作成したファイルを早速、StoryBoard上のUITableViewControllerに適応させましょう!1UITableViewControllerを選択して、2新聞紙マークをクリックし、3classに『TableViewController』と入力しましょう。次に1新しいUIViewController(Todoを追加するページ)を配置します。2TableViewControllerからViewControllerへ『show』でセグエを設定。3segueのidentifierを『goCreate』を設定。ここでコードをいじります。UINavigationBarをカスタム最初にくっつけたNavigationControllerを使っていきます。TableViewController.swiftを編集します。コメントアウトされた必要な部分のコメントアウトを外す。セグエについてこれらを意識して、編集しました。cell}}UINavigationBarのカスタマイズについてこちらをご覧ください。UINavigationControllerのセグエについてこちらをご覧ください。コードは置いておいて、StoryBoardに戻りましょう。先ほど配置した新しいUIViewControllerにUIButtonを配置しましょう。『unWindToTopSegue...』という表示が出てくるので、選択してください。ここまで、一応動くところまできました。Runしてみましょう。『UILabel』・・・todoにテキストを変更。『UITextField』・・・配置しただけ。このように配置してください。UIButtonも『リストに追加』に変更しましょう。いえばまだ、UIViewControllerに対応してファイルを作成していませんでした。『CreateViewController』で作成してください。TableViewControllerに対応するファイルを作った時と同じ手順です。Todoを作る(create)ページにする予定なのでこの名前にしました。次に配置したUITextFieldとコードを結びつけましょう。名前は普通に『textField』にしましょう。UIButtonも同じようにコードと結びつけましょう。名前は『createButton』にしましょう。Realmの登場!!お待たせしました!そろそろRealm登場させます。‘RealmSwift’という項目を追加しましょう。installしてください。これでRealmが使えるようになりました。Xcodeworkspaceを開いてください。Todoを司るTodo.swift次にTodo.swiftというtodoの内容を記述するファイルを作成します。内容と言っても今回はTodoのタイトルしか記述するつもりはないのです。Classを選択してください。ここからが少し違って、subclassを『NSObject』してください。名前はもちろん『Todo』!!!このようになっていると思います。{}それをこのように編集しましょう。RealmSwiftこのimportによってRealmSwiftを使えるようにしました。ライブラリを使う際はほとんどこのimportを使います。dynamicRealmを使用する際、プロパティにはdynamicをつけるルールです。終わりが近づいてきました。Realm()はデータを扱う際に使います。使う頻度はかなり高いです。Realmデータベースをインスタンス化しているとか、参照しているとか、そんな感じです。ここでは保存する際に使用してます。{realm.add(todo)}『write』内で書くことでデータを永続化できます。データを加えているのが『add』ですね。それらをcreateButtonの中に書くことによってボタンをタップした際に処理が行われます。書いたtextFieldDelegateについてはこちらの記事をご覧ください。こちら!次にTableViewControllerをこのように編集しましょう。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。cell}}説明が必要なところはviewWillAppearとtableView系の関数についてですね。viewWillAppearこの関数はviewが表示される前に行いたい処理を書きます。今回は、CreateViewControllerでTodoを作成して、TableViewControllerに戻った時に、TableViewの内容をリロードする必要があるので、tableView.reloadData()1tableView.reloadData()を記述します。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。Realmに保存されているTodo型のobjectsを取得。cell}ここかと思います。コメントアウトに記述しているとおり『objects()』によって保存されているデータを取得できます。TableViewControllerについての詳しい使い方はこちらをご覧ください。cellのIdentifierを書きましょう。indexPath)ここにデフォルトで記述されている『reuseIdentifier』をIdentifierに登録してください。基礎ささお3年目iOSエンジニア。スタートアップで働いておりやす。プログラミングスクールとエンジニアのキャリアを考えたい。いつも勉強させてもらっています、ありがとうございます!ちょっと教えてください。このアプリつくってみたんですが、なぜかTodoが認識されません。NSObjcectのファイルのエラーかなあとおもうんですが、解けません。お時間のあるときに教えてください。記事のSwiftバージョンが古く、エラーが出ていたことはわかりました。Todo.swiftをこのように変更してください。""}新しく@objcが追加されました。PMこんばんは、解答ありがとうございます。