えいむーさんは明日も頑張るよ

EnumをRawValue以外でCodable準拠したい

あけましておめでとうございます といっても特に面白いことはありませんでした。家の鍵を取り替えてみて、鍵を取り替えるのって面白いなってなったくらいです。 あと、ドラム式乾燥機能がついた洗濯機が欲しいです。あと、もうすぐ HMD が届くと思うので楽しみです。出荷連絡早くこないかな。 Enum+Codable Enum は RawValue をもたせてやれば Codable に準拠させて簡単に変換するこ ...

SwiftUIのGridの使い方

LazyVGrid SwiftUI にはLazyVGridとLazyHGridの UIKit でいうところのCollectionViewと同様の働きをするコンポーネントがある。 で、これの使い方をしょっちゅう忘れてしまうので備忘録として残しておくことにする。 イニシャライザから学ぶ LazyVGrid でイニシャライザを呼ぶと以下のようなパラメータがある。 LazyVGrid(columns: C ...

AlamofireのOAuthが便利そうだった

Alamofire Alamofire では 5.2 からAuthenticationInterceptorという機能が実装されています。 よく似た機能でRequestInterceptorっていうのがありました。それについてはちょろっと記事にしたと思うのですが、何がどう違うの比べてみましょう。 RequestInterceptor との比較 RequestInterceptorではretryとa ...

AlamofireのAdvancedUsageについて

Alamofire Session Sessionのデフォルト値であるSession.defaultはAFというEnumで与えられる。 なので、以下のコードは等価である。 AF.request("https://httpbin.org/get") let session = Session.default session.request("https://httpbin.org/get") Ses ...

迂闊にSwiftUIでForEachをまわしてはいけない

SwiftUI + ForEach ForEachを SwiftUI で使うと再帰的に View を構築できるので非常に便利で、特に List や Form などでは SwiftUI の子コンポーネントは 10 個までという制限を無視していくらでもコンポーネントを追加することができる。 ScrollView だと View を一度にレンダリングしてしまうので、めちゃくちゃ大きい配列をForEach ...

SwiftにおけるCollection型を理解する

Collection 型とは 数学で言うところの有限集合の概念。 ユニークなデータを保存 順序関係がない というのが特徴。ユニークなデータを保存というところが便利だったりするので、配列から重複を取り除きたい場合は一度Collection型に変換してやるといいことがある。 ただしCollectionは各要素としてHashableなものしか持てないのでそこだけは注意。 論理演算 見たほうが早いと思うの ...

SwiftUIでURLから画像を読み込む最適な方法を考える

SwiftUI + Image SwiftUI では Image を利用すると Bundle か SystemImage からしか画像を初期化することができない。 つまり、URL を指定して画像を読み込むことができないのである。それはそれで困るので、有志がいろいろとライブラリを開発しており、Salmonia3 実装時などにお世話になったりした。 ようやく SwiftUI3.0 では AsyncIm ...

よく使うURLのExtensionまとめ

URL + Extension Swift の URL の定義はいろいろ抜けているところがある。本記事はあれってどうやるんだっけという Swift の URL の抜けているところを補うことを目的としたものである。 URL URL は String からインスタンスを生成することが多いと思うのだが、URL に変換不可能な文字列が存在するせいでOptionalを返す。そのせいでいちいちオプショナルを外 ...
    えいむーさんは明日も頑張るよ © 2022