変数 SwiftUI | classの変数が変化したときにViewを更新する方法 SwiftUIでclassの変数が変化したときにViewを更新する方法を説明する。■結論 1. classをObservableObject準拠にする。 2. 変数に@Publishedを付ける。 3. classのインスタンスに@ObservedObjectを付ける。 2022.12.28 変数
音声・動画 SwiftUI | オーディオの再生終了を検知する方法 SwiftUIでオーディオの再生終了を検知する方法を説明する。■結論 AVAudioPlayerDelegateに準拠したclassでaudioPlayerDidFinishPlaying()を記述する。 2022.12.27 音声・動画
Xcode Xcode | Appアイコンが反映されないときの対処方法 XcodeでAppアイコンを設定しても実機に反映されないときの対処方法を説明する。■結論 iPhoneを再起動するとAppアイコンが表示されるようになる。 原因は不明だが何らかのバグかもしれない。 2022.12.19 Xcode
View SwiftUI | キーボードを非表示にする方法 SwiftUIでキーボードを非表示にする方法を説明する。■結論 @FocusStateを付けた変数でキーボード表示している/していないの状態を管理できるので、それを利用して適宜コードを組む。 2022.12.15 View
変数 SwiftUI | はてなマーク1つの意味 はてなマーク1つの意味を説明する。■結論 はてなマーク1つはオプショナルチェーン(Optional Chaining)を表す。使用例としてはValue of optional type 'xxx?' must be unwrapped to refer to member 'yyy' of wrapped base type 'xxx'のエラーを回避するときに使用する。 2022.12.11 変数
音声・動画 SwiftUI | Sliderを曲の再生位置に同期させる方法 SwiftUIでSliderを曲の再生位置に同期させる方法を説明する。■結論 ユーザーがSliderを操作したときに曲の再生位置を変更するには、SliderのonEditingChanged内に曲の再生位置を制御する処理を記述する。 曲が進むのに合わせてSliderの位置を追従させるには、Sliderの.onReceive内に曲の再生位置を定期的に取得する処理を記述する。 2022.12.10 音声・動画
音声・動画 SwiftUI | コントロールセンター使用方法 動画ファイル編 SwiftUIでコントロールセンターに動画ファイルのタイトル / アルバム名を表示し、再生 / 停止 / スキップ / シークを実行できるようにする方法を説明する。◾結論 タイトル / アルバム名を表示するには、MPNowPlayingInfoCenter を設定する。 再生 / 停止 / スキップ / シークを実行できるようにするには、MPRemoteCommand を設定する。ただ、スマートな方法はわからなかった。多少ひねった方法はわかったので具体例に示す。 2022.12.03 音声・動画
音声・動画 SwiftUI | コントロールセンター使用方法 音声ファイル編 SwiftUIでコントロールセンターに音声ファイルのタイトル / アルバム名を表示し、再生 / 停止 / スキップ / シークを実行できるようにする方法を説明する。◾結論 タイトル / アルバム名を表示するには、MPNowPlayingInfoCenter を設定する。 再生 / 停止 / スキップ / シークを実行できるようにするには、MPRemoteCommand を設定する。 2022.11.30 音声・動画
struct/class/enum SwiftUI | インスタンスを1個しか作成できないclass(シングルトン)の作成方法 SwiftUIでインスタンスを1個しか作成できないclass(シングルトン)の作成方法を説明する。◾結論 1. class内で static let シングルトン = クラス名() を記述する。 2. class内で private init() {} を記述する。 3. let インスタンス = クラス名.シングルトン でclassをインスタンス化する。 2022.11.23 struct/class/enum