【Console Application】ファイルとデータベース 308【学習記】
今回の概略
enum 、気になって調べたけど基本文法の時にオモチャにしてた🙄
問題ないなってなって短時間しか触らなかったから記憶に薄かった物と思われ…😞
前回の粗筋
csv → Record 変換を治したらそのまま完了する等🤤
やはり完成品を移植だと理論は実証済になるから円滑だなって思うけど言語毎の書き換えでの不具合が多すぎる😞
準備
さて、ようやっと Swift だけどまずは準備から😑
いつものプロジェクトフォルダ作ってからの git 初期化🤤
Kotrin の時もそうだったけど今回は Xcode なので前回の OC での git 設定を流用🤪
………
しまった git はプロジェクト作ってからだった😫
replace なので置き換わっちゃう😑
Windows だと上書きとかやってくれるんだけど MacOS の基本は置換🙄
ファイルコピーも、同名フォルダが有ると中身を上書きじゃなくて置換😞
気を取り直して…というか初手、 `git init` 掛け忘れてるし…結果的に良かったのかな…🙄
ガワの作成🤤
折角言語的にインスタンス作らなくても実行できるし main 関数要らないのにワザワザ両方用意するこの仕草…😑
とりあえずこの状態でコミット終了🤤
調査
今回は いきなり取り掛からないでちょっとだけ調べておく事にするお😑
何をって?それは勿論
_人人人人人人人_
> enum class <
 ̄Y^Y^Y^Y^Y^ ̄
OC ではエラい目に遭ったので OC の資産が使える事を標榜している Swift の列挙についても似た傾向がある可能性が強いと思うワケよ😑
先に判ってれば Java 式で通せるのか OC 式になるのかで話が早くなるお🤤
Swift の列挙
enum Signal: Int {
case blue = 1
case yellow = 2
case red = 3
}
enum Weather: String {
case sunny = "晴れ"
case cloudy = "曇り"
case rain = "雨"
case snow = "雪"
}
let sunnyWeather: Weather = .sunny
sunnyWeather.rawValue //晴れ
//返り値はSignal?
let signalYellow: Signal? = Signal(rawValue: 2)
signalYellow?.rawValue //2
//Signalには4に該当する要素が存在しないのでnilが返る
let signalGreen: Signal? = Signal(rawValue: 4)
signalGreen?.rawValue //nil
もうこの情報だけで Java 式可能🤤
しかも手で総当りせずに値から列挙に変換可能…これ開発に自分みたいな使い方する人結構居たのかな🤔
以前 enum で散々遊んでたわ…😞
配列の型
ガワの main の args が `[String]` になっているので配列は型指定なのかな?🤔
でもこの型指定…なんか基本文法学習の時に「万能型の配列」について調べた気がするんだけど…😑
あった🤤
今回は NSArray みたいな「型が全部 Object なんだけど…」を解決できれば良いからそういうのが欲しい時は多分 `[NSObject]` みたいな書き方すればプリミティブ弾いた配列になる…かな?🤔
とりあえず Swift の配列は型を固定できる様なので OC みたいな型固定配列オブジェクトを作らなくて良いしそれに付随するブラケットアクセス処理も調べなくて良いぽ🤤
よし、作る前の OC での苦労による不安はこれで払拭かな?😑
次回は
また共通ライブラリ移植から始まる…🙄
この記事が気に入ったらサポートをしてみませんか?