XCode 12.5 日本語化計画:Swift 記事
このビューが消えるときに実行すべきアクションを追加します。
func task(priority: TaskPriority = .userInitiated, _ action: @escaping () async -> Void) -> some View
ビューが表示されるときに、指定されたアクションを非同期で実行するビュー。
priority
非同期タスクを作成するときに使用するタスクの優先度。デフォルトの優先度は userInitiated です。
action
ビューが表示されるときに SwiftUI が非同期タスクとして呼び出すクロージャ。アクションが完了する前にビューが消えた場合、SwiftUI はタスクを自動的にキャンセルします。
この修飾子を使用して、変更されたビューのライフタイムと一致するライフタイムで非同期タスクを実行します。SwiftUI がビューを削除するか、ビューが ID を変更する前にタスクが終了しない場合、SwiftUI はタスクをキャンセルします。
タスク内で await キーワードを使用して、非同期呼び出しが完了するのを待つか、AsyncSequence インスタンスの値を待ちます。たとえば、Text ビューを変更して、リモートリソースからコンテンツをロードするタスクを開始できます。
let url = URL(string: "https://example.com")!
@State private var message = "Loading..."
var body: some View {
}
この例では、lines メソッドを使用して、指定された URL に格納されているコンテンツを文字列の非同期シーケンスとして取得します。新しい行が到着するたびに、for-await-in ループの本体はその行を文字列の配列に格納し、テキストビューのコンテンツを更新して、最新の行数を報告します。
func onAppear(perform: (() -> Void)?) -> some View
このビューが現れるときに実行すべきアクションを追加します。
func onDisappear(perform: (() -> Void)?) -> some View
このビューが消えるときに実行すべきアクションを追加します。
func onChange<V>(of: V, perform: (V) -> Void) -> some View
特定の値が変更したときにアクションを起動するこのビューの修飾子を追加します。
func task<T>(id: T, priority: TaskPriority, () async -> Void) -> some View
このビューが現れたとき、または指定された値が変更したときに実行するタスクを追加します。
ベータソフトウェア
この文書には、開発中の API または技術に関する予備情報が含まれています。この情報は変更される可能性があり、この 文章に従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。