こづかい帳を作るー031

日付の表示が幅を取りすぎるので年月のみの表示に変更(行123)。 (substringがなく!)文字列の切り出しが難しかったのでsuffixで対応。 すっきりした。といってもレイアウトの整備はやらないと。

こづかい帳を作るー030

区分を登録する。 登録用の項目を追加 データ登録時の処理を追加(行103〜105) 一覧の見出しと明細にそれぞれ項目を追加 シミュレーターのアプリを削除後実行し、 支出・入金どちらも登録できることを確認。

こづかい帳を作るー029

支出と入金の区分を追加する。 表示に関する変数を定義して HStackを使って分類の入力欄の右側に支出・入金のボタンを配置 選択した方の色が青くなる

こづかい帳を作るー035

次は選択画面全体を作る。 onAppearで過去の登録データのcategoryの値の一覧を取得して配列に格納。 (Setを使うことで重複を排除できる) 配列の各行をCategoryRowとして表示する。

こづかい帳を作るー028

監視しているContentViewのselectedDateをrkManagerに引数で渡して RKManagerからRKViewControllerを経てRKMonthへ渡るようにし、 RKMonthのdateTappedでその値を変更するようRKCalendarを改造すれば、 微妙な処理がなくても意図通り動作することは確認でき…

こづかい帳を作るー027

日付の表示は結果的にisCalendarの値が変更された時に 更新されるようになっているので、 isCalendarを変更する処理を入れてみる。 これで動作はするようになったが、 なんか違う感が・・・ rkManagerのselectedDateが監視できればこれも必要ないのだが。

こづかい帳を作るー026

日付を明日とか前の日とかに変更する場合にカレンダーを 表示せずにさっとやるため、 日付を挟むように前日・翌日のボタンを配置 ボタンは表示されたが日付が変わらない。

こづかい帳を作るー025

日付もデータとして登録できるようにする。 日付の項目を追加(行110) データ登録時(行52)、リストの見出し(行66)、リストの明細(行73)にも項目を追加 データ登録用のクラスの内容を変更したので、 シミュレーターのアプリを一度削除して再実行。

こづかい帳を作るー024

いろいろと調べて見たがよくわからない。 ただ、rkManagerのmodeを4(0〜3以外)にして isCalendarのtrue,falseの分岐を追加すると動作はする。 うーんという感じ。他にやりようがないのか。 ただ、調べてもわからないので当面はこのままで行ってみる。

こづかい帳を作るー023

カレンダーから日付を選択しても表示される日付が変わらない。 RKCalendarの日付を表示するように変更(行31) これで実行するとrkMangerのselectedDateがnilのためエラーとなる。 initに初期化処理を追加(行21) これでエラーは解消だが、表示日付の変わらない…

こづかい帳を作るー022

initの存在を知った。 初期処理はここでいいと。 DateFormatterの初期化はonAppearからここへ持ってくる。 また、日付変更のボタンをやめて日付表記自体をボタンにすることですっきりさせる。

こづかい帳を作るー021

日付の表示が必要。 日付変更ボタンの下に選択日を表示する内容を追加(行31) 日付を文字列に変換するためにDateFormatterを定義(行18) DateFormatterの設定を起動時に実施(行73〜75) ここでやるのでいいのだろうか? 初期表示で現在日付が表示された。

こづかい帳を作るー020

RKCalendarを使って日付の入力欄を作成する。 データ登録用の項目を追加(行13) カレンダー表示判定用変数を追加(行17) RKCalendar用の変数を追加(行19,20) カレンダー表示用のボタンを追加(行24〜29) 実行すると日付選択のボタンが表示され、 そのボタンを押…

こづかい帳を作るー019

当たり前だけど日も登録する必要が。 RKCalenderというのが便利そうなのでこれを導入する。 https://github.com/RaffiKian/RKCalendar で CodeからDownload ZIPを選択してダウンロード ZIP内にあるファイルを以下のように配置

こづかい帳を作るー018

追加した分類用の項目に関連する修正が必要なので、 それらを行う。 まずデータ登録用のクラスに項目を追加(行78) 表示する一覧の見出し(行39)と明細行(行45)への表示を追加 分類とメモの位置は入れ替えた。 データ登録の処理にも分類の項目を追加(行30) 実…

こづかい帳を作るー017

金額の分類をしたいので、 分類用の項目を追加する。 流石にこの辺は慣れてきた。 入力用の変数(category)を宣言し、入力欄と紐付け(18行目) 項目が追加された。

こづかい帳を作るー016

datalistへの設定処理を簡略化しよう。 realm からのデータの取得の場合戻り値はSetで返ってくる。 datalistは配列なので変換ができればいい。 まずはonAppearの処理を変更 問題なく表示されたので、 deleteにも適用 1行で済むので関数化不要になった。

こづかい帳を作るー015

当たり前と言えば当たり前だが、 Realmからデータは消しているが datalistからは消していなかったということ delete内にdatalistの初期化→再設定の処理を追加 deleteで 今度は消えた。

こづかい帳を作るー014

間違えて登録した内容を削除できるようにする。 削除処理の関数をContentView内に記載し、(bodyの外) ListにonDeleteを記載するだけで、UIと処理の紐付けができる。 スワイプでDeleteが表示され、 (Deleteを他のテキストに変更する方法はわからず。) Delete…

こづかい帳を作るー013

メモと金額は空欄では登録できないようにする。 まずはアラート表示を判定する変数を宣言 Buttonのactionに空欄のチェック処理を入れる toggleはboolの値を反対にしてくれるそう。(true→false、false→true) それからVStackにalertを追加 チェックできた。

こづかい帳を作るー012

アプリを再起動すると何も表示されない。 アプリ起動時に登録された内容の読み込みが必要。 VStackに.onAppear()を追加し、 登録した内容を取り出してdatalistにセットする処理を追加する。 登録された内容が全て表示された。

こづかい帳を作るー011

登録ボタンを押しても何も変化なし。 Listに表示しているものはdatalistの内容なので、 登録後にdatalistに入力内容を追加する処理を追加する。 表示された。

こづかい帳を作るー010

登録されたデータを表示するListを作成する List用の変数datalistを宣言して body内にListを追加 それらしきものが表示されました。

こづかい帳を作るー009

Realmを使ったデータ登録処理を Buttonのactionに記載する。 Realmに登録クラスの変数に 各プロパティの値を設定にrealmオブジェクト?にaddする。 データ登録処理は記載したが、 登録状況がわからない。

こづかい帳を作るー008

前準備がいろいろ必要で、 まだ登録機能まで辿りつかない。 Realmでのデータ登録の場合、 登録する内容を定義したクラスが必要。 まずはそれを定義する。 ContentView.swiftでRealmを使うため、 RealmSwiftをインポート ContentView.swiftにそのままクラスの…

こづかい帳を作るー007

入力内容の登録となると登録する先を考える必要がある。 調べて目についたRealmというものを利用する。 File→Swift Packages→Add Package Dependencyを選択 表示される画面の欄に以下を入力し、Next https://github.com/realm/realm-cocoa そのままNext 結構…

こづかい帳を作るー006

入力した内容を保存したいので、 そのための機能を作る。 まずは登録のボタンを作る。 Buttonには表示内容と押した時の動作が必要なのかな。 動作はなにもなしとして画面上の表示を確認。

こづかい帳を作るー005

シミュレーターの設定でキーボード が表示される模様。 シミュレーターでI/O→KeyboardのConnect Hardware Keyboardの チェックを外す。 意図通りメモは普通に 金額は数字入力!

こづかい帳を作るー004

金額の入力欄は数値入力のキーボードにしたい。 keyboardTypeでnumberPadを指定すればできる模様。 あれ?キーボードが出てこない。

こづかい帳を作るー003

次は金額の入力欄 VStackというものを上位に置くことで部品を上下に並べることができる。 前回と同様に入力内容を格納する変数を宣言し 金額入力のTextFieldを追加 Run! 入力欄が二つ用意された。