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

ブログをはじめました。気の向くままにプログラム関連ネタをメモしていきます。

日当-ヒナタ- 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

日当-ヒナタ- swift4 -3- 設定画面 チェックボックス

はじめに

Androidアプリ日当-ヒナタ-のiOS版を作り始めたのでその経過を少しアップします。普段の仕事ではSWIFTを触らないのでとても新鮮な感じと少し不安なとこもあり。。。少し機能を削り、早めのストア公開を目指します。

機材

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

Storyboard

f:id:tm-b:20190117021037p:plain
可能な限り storyboardを活用しています。今回は、前回の続きで、ほぼ同じ構成で作ります。Tab Bar Controller -> Navigation Controller -> View Controller(設定画面), Table View Controllerという構成から、日当設定セルとView Controller(日当設定画面)をShowで接続、日当設定画面の構成はContainer View -> Table View(Static-Table) と配置しました。

日当設定画面はこんな感じの実装です。

今回チェックボックスをどうするかです。実現方法はたくさんあると思いますが、ここでもstoryboardと実装が繋がりやすいように+自分で管理するコード量を少なくするように考えました。結果的に下のQiita記事を参考に@IBInspectable属性でチェック値を管理しつつ、TableCellのstyleからRightDetailを使うことにしました。とりあえずテキストだけですのでチープ感はありますがまあ良しとしました。そのうち画像を使うかテキストをかっこ良くするか、微調整はしたいと思います。

StoryboardやNibを超絶便利に使う技
参考にさせていただきました。

f:id:tm-b:20190117022710p:plain

【Android】日当-ヒナタ-

他3画面もほぼ同じ進め方で作りました。次は設定内容の永続化を作る予定なのですが、、諸事情で(今週にはいり22時頃から作業を進めるかたちで3日ほど続けましたが少し疲れた)、すこし休憩します。週末はAndroidと同じように設定情報をRealm扱えるような対応をする予定です。

ab39

日当-ヒナタ- swift4 -2- iOSアプリ 設定画面

はじめに

Androidアプリ日当-ヒナタ-のiOS版を作り始めたのでその経過を少しアップします。普段の仕事ではSWIFTを触らないのでとても新鮮な感じと少し不安なとこもあり。。。少し機能を削り、早めのストア公開を目指します。

機材

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

Storyboard

f:id:tm-b:20190116011317p:plain
可能な限り storyboardを活用しています。今回は、Tab Bar Controller -> Navigation Controller -> View Controller(設定画面), Table View Controllerという構成で、View ControllerへContainer View -> Table View(Static-Table) -> を配置しました。

設定画面はこんな感じの実装です。

下のQiita記事を拝見しながら進めたこともあり短時間で書けました。とりあえずのたたきとしてはまあこんなものかなと思っています。後日に残りの実装をしてエミュレタを使って微調整です。

UITableViewControllerのStatic Cellsをカスタマイズしてアプリの設定画面を作る
参考にさせていただきました。

f:id:tm-b:20190116011611p:plain

【Android】日当-ヒナタ-

ab39