テックキャンプ156日目〜Realm 保存・呼び出し

kobasaです(´ω`*)
Realmの続きです。1ページで終わる簡単なアプリなら挙動が確認できました。
けれど少しページを増やしたりするだけで怪しくなってきますねw
記述はそんな複雑ではなさそうなのでswiftの知識が足りてないぽいです。
機能や処理を組み合わせて思い通りのアプリを作りたいですね。

データベース設計

import Foundation
import UIKit
import RealmSwift

class Coupon: Object {
    @objc dynamic var name = ""
    @objc dynamic var id = 0
}

モデルファイルを作成し、記述します。varの後がカラム名になります。
アソシエーションなど考慮しなければシンプルです。

データ保存方法

// Realmインスタンス取得
let realm = try! Realm()

// モデルのインスタンスを取得
let coupon = Coupon()

// テキストフィールドの値をnameの値に代入
coupon.name = self.textField.text!

// DBに登録
try! realm.write {
    realm.add(coupon)
}

テキストフィールドに入力された文字をnameに登録する記述です。
見た目はわかりやすいですね。

データの取得

// Realmインスタンス取得
let realm = try! Realm()

// 全データを取得
realm.objects(Coupon.self)

// idが0のデータのみ取得
realm.objects(Coupon.self).filter("id == 0")

保存されている全データを取得したり、
フィルターをかけて任意のデータのみ取得することもできます。
まだ試せてませんが所持クーポンと使用済クーポンの表示切替えができそう?

コメント

タイトルとURLをコピーしました