【Console Application】ファイルとデータベース 302【学習記】
今回の概略
自分で追加したくせに引数の構想を誤っていた事が発覚😞
配列処理を1階層減らして解決🤪
前回の粗筋
どこかで違うクラスの同名関数を間違えて呼んでいる…?
デバグ
まずはエラーになって、想定と違う型を投げている、ブレイクが貼られた箇所の原本との比較を確認するぽ😑
………🤔
原本、 SLIB.tableStringToString 呼んでないお😭
ただ、書出しの処理も違うので知らない物呼んでる即ち悪ではないのだけど…😑
原本見る限りでは1行ずつ処理しているけれど OC では一発で書き出すから、行で配列になってる文字列の束を更に1つの文字列に連結する tableStringToString を作ったんだったと記憶してるお🤔
と言う事はどこかで余剰に配列を結合して文字列にしすぎているか呼び元で型がおかしいか、なんだけど…😑
………😑
結局もっかい流してどこで型が合わなくなってるか見るしかない🙄
じゃぁまぁ、またここから開始って事で😑
この段階ではまだ引数の cells は1要素に1行の情報を持つ NSMutableArray で、中身は1行内のセルの値の配列なので想定通り🤔
配列だけ版から区切り文字有りが呼ばれる、まだ想定内😑
更に囲み文字指定版が呼ばれる…まだ、まだよ?すてい、すていよ?😳
1行1文字列…想定内…🙄
ここまでは大丈夫…無引数 saveCsv 、無罪😑
て事は、やっぱり「新たに用意した tableStringToString が犯人」なワケよね…😞
もしかして、 NSArray<NSString> で処理しないとならないのに NSArray<NSArray<NSString>> の大元の cells 状態から加工しようとしてるんじゃ…なんかそんな気がしてきた…🙄
………🤔
下手人発見🤤
予想通り cells 前提で組まれてるお😞
そらまぁ配列が1次元足りないんだから count 掛けようとしてももう文字列だから怒られるわいな🙄
しかも区切りが改行じゃなくてカンマってところが更にダメ😞
もしこれを原本に近い構造のまま移植したいなら一発全部書出しじゃなくて「追記」みたいな方でやると似た構造のまま行けるかな🤤
今回のは tableStringToString を直す方向で処理するぽ😑
ヨシ!👈🤪
次回は
-u かな🤤
移植部分はだいたい大丈夫だけど、言語の違いで書き換えたり新実装するとそこで不具合が多発してるからまだ油断できない😞