Ich habe erfolgreich Daten von einer API geholt und entschlüsselt und habe nun Zugriff auf alle Daten, die ich für den Algorithmus benötige, den ich in meine App schreiben möchte.Verwenden decodierter Daten von einer API in einen Algorithmus
Das Problem ist, dass ich nicht weiß, wie auf diese Daten zugreifen, nachdem ich es entschlüsselt habe, kann ich es sofort nach der Decodierung ausdrucken, aber ich habe keine Ahnung, wie man es in einer anderen Funktion oder Ort in meiner App verwendet.
Hier ist mein Spielplatz:
import PlaygroundSupport
PlaygroundPage.current.needsIndefiniteExecution = true
enum MyError : Error {
case FoundNil(String)
}
struct Level: Codable {
let time: Double
let close: Double
let high: Double
let low: Double
let open: Double
}
struct Response: Codable {
let data: [Level]
private enum CodingKeys : String, CodingKey {
case data = "Data"
}
}
func fetchData(completion: @escaping (Response?, Error?) -> Void) {
let url = URL(string: "https://min-api.cryptocompare.com/data/histominute?fsym=BTC&tsym=USD&limit=60&aggregate=3&e=CCCAGG")!
let task = URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
do {
if let marketData = try? JSONDecoder().decode(Response.self, from: data) {
print(marketData.data[0].open)
print(marketData.data[1].open)
print("Average=", (marketData.data[0].open + marketData.data[1].open)/2)
//completion(marketData, nil)
throw MyError.FoundNil("data")
}
} catch {
print(error)
}
}
task.resume()
}
fetchData() { items, error in
guard let items = items,
error == nil else {
print(error ?? "Unknown error")
return
}
print(items)
}
Wie kann ich .data [0], .data [1] verwenden, ..., woanders?
Sie können Bitte definieren Sie woanders? –
Wie in einer anderen Datei oder Funktion – Wizzardzz