見出し画像

【Console Application】ファイルとデータベース 261【学習記】

【Console Application】ファイルとデータベース【学習記】
仕様
https://note.com/sayka/n/nb8a67fa90a64?magazine_key=m7bb64c6a359f#br1mB

仕様
レコード
・レベル
 1-12
・難易度
 b,n,h,a,l
・曲名
・ランプ
 -,x,a,e,c,h,e,f

オプションスイッチ
-u file.csv # 更新(略値)
 ファイル名だけ指定した場合更新処理と見做す
-d file.csv # 削除
-p # csv 出力(略値)
 何も指定せずに起動した場合出力処理と見做す
-v # バージョン
-h # ヘルプ

----備忘録
(現在無し)


概略

引数 id でリテラルを渡すのはだめだった件に関して😞
レコード初期化に数値を入れていたけど @ を付けて NSNumber 化する事で回避🙄

#学習記 #Objective_C
#id型 #リテラル


前回の粗筋

エラーを無視してレコード定義クラスを作った後、独自配列クラスの addObject が id のままで効率悪くて直すもそちらでもエラーが…😞


Record

で、何が不満なのかな Xcode は😑

………🤔
getNames は原本Javaでは返値 String[] だから result が REArray なのは間違いだわ🤪
せめて StrArrayStdlibにあるNSStringのみの配列 ね🤤

ヨシ👈🤪


ClearLamp_iidx

……… int を id に変換できないぞって言ってる様だけど…😑

Objective-Cで独自クラスに[]でアクセスする
https://www.tokoro.me/posts/objc-subscripting/

全然関係ないけど独自配列クラスでブラケットアクセスの実装方法を発見🙄
forKeyedSubscript というのを実装すれば良いみたい🤤
…なんで int を id にする方法調べてたら出てきたのやら…🤔後でやる

以前基本文法で id の中身が整数なら、という処理を書いたので id で受け取って調べる、という手法は間違いないのよね🤔
恐らくこれは裸の値リテラルが書かれている事が問題で一旦変数に入れると恐らく通る筈なんだけどできれば数値を直接書きたいのよね😞

うーん…🤔
なんかこういうリテラルを直接ポインタにして渡す方法が有った様な気がするんだけど…😑
文字列の話ばっかり出てくるから現状では一旦数値を入れる方向で処理しようかな😞

_人人人人人人人_
> 変わらない <
 ̄Y^Y^Y^Y^Y^ ̄

………😞

………
基本文法のソース見たら整数型で型検査を1度も呼んでないっぽ🙄
だから分からなかったのか…😞ナンテコッタ

もう全部オブジェクトで受け取ればいいやの巻😞
でもそうすると BOOL も NSNumber に入れなきゃいけなくて、区別できないと困るのよね🤔

objective-cでJSON化するときはなぜNSNumber objectからBOOL型を区別できるか
https://konyavic.hatenadiary.jp/entry/2017/11/08/231956

識別できるならいいや🤤

………これだと NSObject の判定が先に有効になっちゃうから入れ替えかな🤔
これで @ は余分にはなるもののほぼほぼ余計なキャスト記述とかも無くレコード指定できるようになったのでヨシ🤤

よし、これでコミット状態保存かな🤤


DBCExceptionMsg

まだ少し余裕が有るから例外の文字列だけでも移植しちゃっとこうかな🤤

定数しかないクラスは楽で良いなぁ…🤤


次回は

DBCDBControllerBase に取り掛かるお🤤

この記事が気に入ったらサポートをしてみませんか?