From 619d47d74a78749276acd9938d92c13b59153538 Mon Sep 17 00:00:00 2001 From: AppInstaller iOS Date: Sat, 12 Nov 2022 11:32:47 -0500 Subject: [PATCH 1/2] Better way of fetching json Made by me --- TrollApps/TrollApps/JSONStuff.swift | 28 ++++++++-------------------- 1 file changed, 8 insertions(+), 20 deletions(-) diff --git a/TrollApps/TrollApps/JSONStuff.swift b/TrollApps/TrollApps/JSONStuff.swift index e9e4f1c..6a9f2cc 100644 --- a/TrollApps/TrollApps/JSONStuff.swift +++ b/TrollApps/TrollApps/JSONStuff.swift @@ -11,29 +11,17 @@ struct stuff: Codable, Identifiable { var id: Int var title: String var link: String - var prevlink: String + //No items in the json has this yet + //var prevlink: String var urlimg: String var completed: Bool } -class fetchtd: ObservableObject { - @Published var jsonstuff = [stuff]() - - init() { - let url = URL(string: "https://haxi0-dev.com/api/trollapps-0.1.json")! - URLSession.shared.dataTask(with: url) {(data, response, error) in - do { - if let jsondata = data { - let decodeddata = try JSONDecoder().decode([stuff].self, from: jsondata) - DispatchQueue.main.async { - self.jsonstuff = decodeddata - } - } else { - print("no data") - } - } catch { - print("oopsie") - } - }.resume() +func FetchApps() -> [stuff] { + do { + return try JSONDecoder().decode([stuff].self, from: try! Data(contentsOf: URL(string: "https://haxi0-dev.com/api/trollapps-0.1.json")!)) + } catch { + print("oopsie") + return [] } } From 817971b906fe720645fd4cade490b03ede0b3c38 Mon Sep 17 00:00:00 2001 From: AppInstaller iOS Date: Sat, 12 Nov 2022 11:33:40 -0500 Subject: [PATCH 2/2] Allow new way of fetching json --- TrollApps/TrollApps/AppsView.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TrollApps/TrollApps/AppsView.swift b/TrollApps/TrollApps/AppsView.swift index f509cb6..5335e1b 100644 --- a/TrollApps/TrollApps/AppsView.swift +++ b/TrollApps/TrollApps/AppsView.swift @@ -9,11 +9,10 @@ import SwiftUI struct AppsView: View { @Environment(\.openURL) var openURL - @ObservedObject var fetch = fetchtd() - + var body: some View { NavigationView { - List(fetch.jsonstuff) { json in + List(FetchApps()) { json in Label { HStack { Text(json.title)