Wie kann in Swift die Warnung über die isolierte Konformität des Hauptakteurs behoben werden, die nicht in einem nichtisIOS

Programmierung für iOS
Anonymous
 Wie kann in Swift die Warnung über die isolierte Konformität des Hauptakteurs behoben werden, die nicht in einem nichtis

Post by Anonymous »

Ich habe den folgenden Code, den ich in einer SwiftUI-Ansicht verwende. Wenn ich dies in Dies ist ein Fehler im Swift 6-Sprachmodus

Wie behebe ich das? Ich möchte Task.scribed anstelle von Task verwenden, weil ich herausgefunden habe, dass die Verwendung von Task in einer mit @Observable markierten Klasse aus einer SwiftUI-Ansicht immer im Hauptthread ausgeführt wird, ich aber möchte, dass die JSON-Dekodierung in einem Hintergrundthread erfolgt.

Code: Select all

struct Post: Identifiable, Decodable {
let id: Int
let title: String
let body: String
}

@Observable
class PostViewModel {
var post: Post?

func fetchPost() {
guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts/1") else {
return
}

Task.detached { [weak self] in
guard let self else { return }
do {
let (data, _) = try await URLSession.shared.data(from: url)
let decoded = try JSONDecoder().decode(Post.self, from: data)
Task { @MainActor [weak self] in
self?.post = decoded
}
} catch {
print("Failed to load: \(error.localizedDescription)")
}
}
}
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post