SwiftUI SwiftUI | documentDirectory内のファイル一覧を取得する方法 SwiftUIでdocumentDirectory内のファイル一覧を取得する方法を説明する。◾結論 let ファイル一覧 = try FileManager.default.contentsOfDirectory(at: documentDirectoryのURL, includingPropertiesForKeys: nil)と記述する。 2022.10.22 SwiftUI
SwiftUI SwiftUI | FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)の意味 SwiftUIのFileManager.default.urls(for: .documentDirectory, in: .userDomainMask)の意味を説明する。◾結論 ユーザーが生成したデータを保存する場所はユーザードメインのドキュメントディレクトリと決まっていて、そのURLを取得するためのコードがFileManager.default.urls(for: .documentDirectory, in: .userDomainMask)である。 2022.10.22 SwiftUI
SwiftUI SwiftUI | iPhoneのファイルApp上で自分のAppにアクセスできるようにする方法 SwiftUIでiPhoneのファイルApp上で自分のAppにアクセスできるようにする方法を説明する。◾結論 Xcode上で以下のプロパティを設定する。Application supports iTunes file sharing : YES, Supports opening documents in place : YES 2022.10.22 SwiftUI
音声・動画 SwiftUI | Picture in Picture (PiP)の実装方法 SwiftUIでのPicture in Picture (PiP)の実装方法を説明する。◾結論 以下の具体例の手順で実装する。 2022.10.16 音声・動画
音声・動画 SwiftUI | 動画ファイルを再生する方法 SwiftUIで動画ファイルを再生する方法を説明する。◾結論 1. 動画ファイルのURLを取得する。動画ファイルのURLの取得方法は、動画ファイルがApp同梱のものか、ユーザーが保存したものか、Web上のものかで異なる。 2. 1を引数にAVPlayerのインスタンスを生成する。 3. 2を引数にVideoPlayerという動画用ビューを配置する。 2022.10.15 音声・動画
SwiftUI SwiftUI | weak selfの効果を実験で理解する SwiftUIのweak selfの効果を実験で理解した結果を説明する。◾結論 weak selfを使わないと強い参照となり、生成した全てのインスタンスが全て実行されるまでそのインスタンスがメモリに占有され続けるが、全てを実行してくれる。weak selfを使うことで弱い参照となり、クラスのインスタンスを新しく生成するごとに前に生成したクラスのインスタンスが消えてメモリが開放される。どちらを使うかはそれぞれの特徴をわかった上で決めれば良い。 2022.10.10 SwiftUI変数
関数 SwiftUI | DispatchQueue main/global() sync/asyncの違いを実験で理解する SwiftUIのDispatchQueue main/global() sync/asyncの違いを実験で理解した結果を説明する。◾結論 以下8パターンの実験を行った。 メインスレッドからDispatchQueue.main.sync メインスレッドからDispatchQueue.main.async メインスレッドからDispatchQueue.global().sync ★1 メインスレッドからDispatchQueue.global().async 外部スレッドからDispatchQueue.main.sync ★2 外部スレッドからDispatchQueue.main.async ★2 外部スレッドからDispatchQueue.global().sync 外部スレッドからDispatchQueue.global().async ★1 実験から★1,★2は以下の特徴があることがわかった。 ★1 並列処理ができるため処理を高速化できる。 ★2 メインスレッドに処理を渡すことができる。 2022.10.10 関数
iOS app Distribution証明書の有効期限まであと30日です の対処方法 Distribution証明書の有効期限まであと30日です の対処方法を説明する。 結論 メールのリンク先をクリックする。 Certificatesの横の+マークをクリックする。 今回期限切れになる... 2022.10.07 iOS app
変数 SwiftUI | はてなマーク2つの意味 SwiftUIのはてなマーク2つの意味を説明する。◾結論 nilガード的な意図で使われる。例えば let 変数1 = 変数2 ?? 値1 というコードなら、変数2の値がnilではない場合は、変数2の値が変数1に代入される。変数2の値がnilの場合は、値1が変数1に代入される。 2022.10.04 変数
SwiftUI SwiftUI | weakの意味と目的 SwiftUIのweakの意味と目的を説明する。◾結論 weakを付けて定義した変数は弱参照する変数になり、そのことで循環参照を防止できる。 2022.10.03 SwiftUI変数