インスタンスメソッド


task(priority:_:)


このビューが消えるときに実行すべきアクションを追加します。




宣言


func task(priority: TaskPriority = .userInitiated, _ action: @escaping () async -> Void) -> some View


戻り値


ビューが表示されるときに、指定されたアクションを非同期で実行するビュー。


パラメータ


議論


この修飾子を使用して、変更されたビューのライフタイムと一致するライフタイムで非同期タスクを実行します。SwiftUI がビューを削除するか、ビューが ID を変更する前にタスクが終了しない場合、SwiftUI はタスクをキャンセルします。


タスク内で await キーワードを使用して、非同期呼び出しが完了するのを待つか、AsyncSequence インスタンスの値を待ちます。たとえば、Text ビューを変更して、リモートリソースからコンテンツをロードするタスクを開始できます。


let url = URL(string: "https://example.com")!

@State private var message = "Loading..."


var body: some View {

Text(message)

.task {

do {

var receivedLines = [String]()

for try await line in url.lines {

receivedLines.append(line)

message = "Received \(receivedLines.count) lines"

}

} catch {

message = "Failed to load"

}

}

}


この例では、lines メソッドを使用して、指定された URL に格納されているコンテンツを文字列の非同期シーケンスとして取得します。新しい行が到着するたびに、for-await-in ループの本体はその行を文字列の配列に格納し、テキストビューのコンテンツを更新して、最新の行数を報告します。



以下も見よ




ビューのライフサイクル




ベータソフトウェア

この文書には、開発中の API または技術に関する予備情報が含まれています。この情報は変更される可能性があり、この 文章に従って実装されたソフトウェアは、最終的なオペレーティングシステムソフトウェアでテストする必要があります。


Apple のベータソフトウェアの使用についての詳細を学ぶ >














目次
Xcode の新機能

利用可能

iOS 15.0+

macOS 12.0+

Mac Catalyst 15.0+

tvOS 15.0+

watchOS 8.0+


  • フレームワーク
  • SwiftUI

  • 宣言
  • 戻り値
  • パラメータ
  • 議論
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ