見出し画像

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

今回の概略

NSDictionary のサブクラスが無理ぽなら勿論 NSArray のサブクラスも無理ぽ🙄

#学習記 #Objective_C
#NSArray #可変長引数 #サブクラス

【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 # ヘルプ

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


前回の粗筋

なんちゃって列挙的独自実装辞書もどきオブジェクトのエラーは解決したと思いきや独自配列でも問題発生😞



独自配列

独自配列側も、辞書の時と同様に「それ抽象だからちゃんと実装してね」になってるので実装するぽ😞

見たらなんと NSArray を渡して初期化するヤツは作ってあった😑
記憶が定かなら「わざわざ配列生成してメモリ潰すのもアレだから withObjects を使うか」だったと思うので完全に失敗😞
まぁ、これは同じ考えでまた使おうとする可能性が高いので実装するぽ😑

以前やらなかった可変長引数だお🤤
今回は nil 入れる事が判っている想定なので数が渡されなくてもイケる🤪

構造は withNSArray の方とほぼ一緒だわねこれ…😑
保守性悪そう…😞

さてどうなったかな…👇ぽちっとな

………もしかして、辞書と同じで継承クラス作れない…?🙄

NSMutableArrayクラス
https://cocoaapi.hatenablog.com/entry/10010908/NSMutableArray

サブクラス化の注意
ほとんどの場合、NSMutableArrayクラスをサブクラス化する必要はありません。

そんな事は判ってるのよ😞
判っていて敢えてサブクラス化できるか否かを調べてるんだから情報出してよ🙄
サブクラス化する必要の是非ではなくサブクラス化の可否を書いて欲しい😡

NSMutableArrayクラス
https://secondflush2.blog.fc2.com/blog-date-20101024.html

サブクラスでは、これらのメソッド全てをオーバーライドする必要がありますが、最初の2つを使って要求する機能を実装するのは非能率的になる可能性があります。

そうそうこれこれこういうのよ🤤
「できるんだけどキツいからやめとき」って書いてあるわけよねこれ😑
オーバーライドが要ると書かれているという事は super の仕組みに頼れない、という話😞


次回は

他の独自配列も同じ運命なので同じ改造が要るぽ…😞

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