2025-01-01から1年間の記事一覧

【Swift】swift-async-algorithms の share がリリースされました

はじめに まず swift-async-algorithms とは share について share を使ってみる bufferingPolicy 補足 最後に はじめに この記事は FOLIO アドベントカレンダー2025 の 10日目の記事です。 こんにちは。最近、息子の影響で仮面ライダーにハマっており、息子…

【SwiftUI】Alert のボタンのテキストを太字にする(プライマリなボタンを設定する)

はじめに 小ネタ程度ですが、 SwiftUI のアラートで表示されるボタンのフォントを太字にする方法を記します。 環境 Xcode Version 16.4 (16F6) iOS 14+ 結論 太字にしたいボタン(プライマリなボタン)に対して .keyboardShortcut(.defaultAction) を付与す…

【SwiftUI】.onSubmit を使うと View で保持している Observable なクラスが解放されない、、?

はじめに こちらの Swift Forums で Post している内容と同じです。まだ解決していないですが、現状をまとめておきます。 forums.swift.org はじめに 筆者環境 説明用コード 回避策 原因 その他 最小限にしたコード その他の挙動 筆者の推測 おわりに 筆者環…

【SwiftUI】List で特定の行だけ separator の長さを変える

はじめに SwiftUI の List はなかなかカスタムしづらい印象でしたが、新しい API のキャッチアップができていないだけということも多々ありそうです。 この記事も大した内容ではないですが、表題について TIL 的に残しておきます。 はじめに 環境 結論 例 最…

【SwiftUI クイズ】Observation フレームワークを使った時の再レンダリングのタイミング

はじめに iOS 17 以降で利用できる Observation フレームワークの登場で SwiftUI でのパフォーマンス向上が見込まれます。 とはいえ、ただ Observation にすればパフォーマンスが向上するだけではなく、「View の body がどのタイミングで再評価されるか (= …

【SwiftUI】続・複数種類のアラート(alert)の表示/非表示を管理する

はじめに 先日、 YUMEMI.grow Mobile #19 にて「【SwiftUI】複数種類のアラート(alert)の表示/非表示を管理する」の内容を LT させていただきました。 その際、視聴いただいた方に「alert modifier は一つにまとめた方が良いかも」という主旨の感想をいただ…

【SwiftUI】複数種類のアラート(alert)の表示/非表示を管理する

はじめに SwiftUI にて 1つの画面内で複数の種類の alert が存在することがあるかと思います。 本記事では、複数種類の alert の表示/非表示を管理する方法について考えてみます。 まず、alert の種類に対応した Bool 値で管理する方法を確認した後、 Enum …

Swift Argument Parser を使うツールの作成時は `swift package init --type tool` を使う

はじめに まず結論 前提 swift package init の help を見てみる swift package init --type executable との違いは? 生成されるマニフェストファイルの違い 生成されるソースコードの違い 結論再掲 以下余談 はじめに Swift でコマンドラインツールを作る…

macOS で Swift のバージョン管理 CLI ツール Swiftly を使う

はじめに Swiftly とは? 筆者動作環境 インストール方法 1. 公式サイトからインストール 2. OpenAPI からインストール インストール 初期化 使い方 install list-available use uninstall list update init self-update run 最後に はじめに Swift のバージ…

【小ネタ】Swift の enum でこういう書き方を見たらこうしたい

はじめに コード例 理由 応用 最後に はじめに 小ネタです。 enum の網羅性を活かしたい、、! コード例 enum MyEnum: String { case one case two } func f1(value: String) { switch value { case MyEnum.one.rawValue: print("handling a") case MyEnum.t…

【SwiftUI】View の状態を表現するときは、無効な状態を構造的に排除したい

はじめに 前提 実装 User モデル SettingViewState SettingView 上記実装での問題点 どうする? 状態を正しく表現する View を分割してみる まとめ はじめに 最近 SwiftUI を本格的に触り始めたので、まだ思考途中ではありますが思うところを残しておこうと…