中年プログラマーの息抜き

カシマルです。 最近、新しい土地へ引っ越しをしたのですが、これを機に何か始めたいなと思ってブログをはじめました。気の向くままに更新していきます。

日当-ヒナタ- swift4 -4- Realmを使ってみる

はじめに

Androidアプリ日当-ヒナタ-のiOS版を作り始めたのでその経過を少しアップします。普段の仕事ではSWIFTを触らないのでとても新鮮な感じと少し不安なとこもあり。。。少し機能を削り、早めのストア公開を目指します。 Realmオブジェクトは閉じ方がよくわかりません。 Androidとは扱い方が少し違いました。

機材

Macbook air Xcode Version 10.1 Apple Swift version 4.2.1
・iphone5c テスト機

とりあえずHelper作ります。

いらないかも、でも、Androidと同じインターフェイスを設置


import RealmSwift

class RealmHelper {
     static let shared: RealmHelper = RealmHelper()
     private init() {}
     var realm: Realm { get { return try!Realm() } }
     func begin() {
         realm.beginWrite()
     }
     func rollback() {
         realm.cancelWrite()

        close()
     }
     func commit() {
         try!realm.commitWrite()

        close()
     }
     func close() {
         //realm.refresh()  //TODO:調べて実装し直し

         //realm = nil //追記:参照を飛ばせばOKぽい? dispatchqueueの変数管理が必要か

    }

}

下のように修正(201190122)

tm-b.hatenablog.com

実装はとりあえずこれで

うごかせなかったので机上で実装しただけ。(動かないかも)
T.self -> javaだと可変長配列から型を引っ張るなど工夫がいりますが、SWIFTはシンプル

Realm、Androidとは要領が少し違いました。(パッと進みませんでした)、続きは今度

ab39