Swift入門その3〜Swiftを忘れないために〜(応用編)

botman_blue iOS

はじめに

その2の続きです。その2までで Swift で書けると思いますがもっといい感じにかくための応用編です。

プロパティ

プロパティのよく使う小技

willSet は使ったことない。

プロトコル

Swift といえばプロトコル!プロトコルを多用すれば Swift っぽい!(はず)

デリゲート

よく使うデリゲート!!!

同値比較

上記の hoge1hoge2hoge1 == hoge2 のように比較したい場合プロパティがすべて Equatable に準拠していれば Equatable をつけるだけで比較できる

これでもいける

こうでもいい

列挙型

CaseIterable に準拠させれば allCases 全パターンを配列で取得できる。

上記のように piyoString を得たい場合は下記のように書ける。

カスタムイニシャライザ!

カスタムクラスのプリント

下記のようにカスタムクラスを作ってプリントするとほぼ情報がない。。。

CustomStringConvertible プロトコルを適用することによりいい感じにプリントできる。

エラー

独自のエラーを定義する。

recoverySuggestion とかもあるらしい。使ったことはない。。。

参考:Errorをいい感じにUIAlertControllerで表示する

Codable

JSON データをいい感じに扱ってくれる Codable !!

共通ぽい result をわけてみる

decode のとこは decodeIfPresent ってのもあるけどあんま違いわかってない。。。戻り値がオプショナル型かどうか??

キーがスネークケースの場合

その他は下記参考

Result

Result これも便利!すごい見やすくなる気がする。

たまにみかけるこういうメソッド(API リクエストとかで多い)。これどういうときにエラーでどういうときに成功なのかがいまいちわかりにくい! (String に値があれば成功?エラーが nil なら成功?)

Result を使うとこんな感じで成功・失敗がわかりやすい!

さいごに

これで今後 Swift を忘れても1〜3見れば思い出せるはず!(たぶん。。。)

コメント

タイトルとURLをコピーしました