【Console Application】ファイルとデータベース 330【学習記】
今回の概略
名前が違うだけで OC での SQLite3 操作はほぼそのまま移植できるっぽい🤤
前回の粗筋
OC と似た流れかと思ったらなんか少し手順が違うっぽい…🙄
DBControllerBase
OC の時と同様、実装を進めながら要るプロパティを足す方式にするぽ🤤
大筋はどうやら OC と同じで SQLITE_OK みたいな定義値を参照してたりするんだけど間になんか Swift らしからぬ「ポインタ」みたいな語が出てきてたりするので OC への遺産への橋渡しがあまりうまく造り込めてないのかも?😑
ここを見る限りだと open やって SQLITE_OK を見る…の部分はそんな変わってないっぽい🤔
ただ、記事だと v2 ってあるのよね🙄
OC の時もなんか v2 だけど無印がそれで特に付加は要らないみたいなんじゃなかったっけかと思うも調べるのめんどい🤪
これこれ。ポインタうんぬんかんぬんの記事😑
ちょっとちゃんと読んでみるぽ🙄
………
記事で "OpaquePointer?" となっているのはこちらの OC 版で `@property sqlite3* conn;` になってる部分に相当してるやつだと思う😑
こいつも結局 open して SQLITE_OK を見てるからやっぱり同じなのかな?🤔
こっちの記事の open は v2 の無い無印😑
2022年最終更新の記事だから新しめ?🤤
こちらも無印 open 🤔
この記事も無印🤤
無印 open で大丈夫…だと思う🙄
そうするとポインタの名前が OC と変わるくらいでおおよそ一緒なのかな?これは🤔
記事の話を総合すると OC での 'sqlite3' と 'sqlite3_stmt' は 'OpaquePointer' と 'Int' という事になるんだけど…合ってるのかしら?🙄
コード書いてから quickhelp で確認したら Int32 らしい😑
多分これは C での使用を想定したライブラリだからだと思う🙄
enum じゃないのも古臭さを感じる😑
C ではこれをポインタで参照してて何かしら値が入ってるという想定みたいだからオプショナルじゃなくてもイケるかな?🤤
というか仮設定の st が通常の Int32 で受けられてるから大丈夫だわ🤔
ただ、何か操作しなくても 0 のままなので要注意ってとこ?😑
ポインタ云々で混乱したけど、 OC では 'sqlite3' って名前だったのが 'OpaquePointer' に変わってるだけでほぼほぼ同じってオチで安心した🤤
次回は
execute と update かな🤤
多分ほぼそのまま移植できるのでは、と思ってる🤪🚩