日当-ヒナタ- swift4 -5- Realmを使ってみる
はじめに
Androidアプリ日当-ヒナタ-のiOS版を作り始めたのでその経過を少しアップします。普段の仕事ではSWIFTを触らないのでとても新鮮な感じと少し不安なとこもあり。。。少し機能を削り、早めのストア公開を目指します。 RealmSwift、オブジェクトのクローズは不要??ひとまず参照を飛ばすだけにしました。
機材
・Macbook air Xcode Version 10.1 Apple Swift version 4.2.1
・iphone5c テスト機
RealmHelperを変更して動くとこまで確認しました。
swiftでは必要ないか・・とも思ったのですが、Androidと同じ手順にしたいので設置(ラップしただけ・・ログを出したくなるかもしれませんし。。設計的にもありと思った。)
import RealmSwift class RealmHelper { static let shared: RealmHelper = RealmHelper() private init() { } private let _lock = DispatchQueue(label: "RealmHelper") private var _realm: Realm? //プロパティでよいのだけど:Androidに合わせて() func realm()-> Realm { return _lock.sync { if _realm == nil { _realm = try!Realm() } return _realm! } } func begin() { _lock.sync { if _realm == nil { _realm = try!Realm() } _realm!.beginWrite() } } func rollback() { _lock.sync { if _realm == nil { return } if _realm!.isInWriteTransaction { _realm!.cancelWrite() } _realm = nil } } func commit() { _lock.sync { if _realm == nil { return } if _realm!.isInWriteTransaction { try?_realm!.commitWrite() } _realm = nil } } func close() { _lock.sync { _realm = nil } } }
今日はおわり、つづきは明日。。
簡単なとこは少し動かしてOKでした。(動かないとこはおいおい直す)
ab39
Podfile(参考:#pod setup,#pod init,#pod install,#pod update)
# Uncomment the next line to define a global platform for your project platform :ios, '10.3' target 'btr' do # Comment the next line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! pod 'RealmSwift' #pod 'Google-Mobile-Ads-SDK' end