WebFetch is a Swift package for fetching data from a web API. It provides a convenient method for fetching JSON data from a given URL. WebFetch
provides one public method, fetch
, which takes a URL as input parameter. This makes it easy to use and understand.
WebFetch has no external dependencies. It only relies on the built-in Foundation framework, which makes it easy to integrate into any Swift project without worrying about managing external dependencies.
You can install WebFetch using Swift Package Manager. Add the following line to your Package.swift
file:
.package(url: "https://github.com/ishaanbedi/WebFetch.git", from: "1.0.0")
To use WebFetch, simply create an instance of the WebFetch
class and call its fetch
method with the URL of the API and a completion handler. The completion handler will be called with a Result<Any, Error>
object containing either the fetched data or an error.
let fetcher = WebFetch()
fetcher.fetch(url: "https://example.com/api/data") { result in
switch result {
case .success(let json):
print(json)
case .failure(let error):
print(error)
}
}
If the URL is invalid or no data is returned from the API, the completion handler will be called with an appropriate error.
To use WebFetch in a SwiftUI application, you can create an instance of the WebFetch
class in your SwiftUI view and call its fetch
method to retrieve data from the API. You can then use the retrieved data to update your view.
Here's an example of how to use WebFetch in a SwiftUI view:
import SwiftUI
import WebFetch
struct ContentView: View {
@State var data: Any?
var body: some View {
VStack {
if let data = data {
Text("Data: \(data)")
} else {
Text("Loading...")
}
}
.onAppear {
let fetcher = WebFetch()
fetcher.fetch(url: "https://example.com/api/data") { result in
switch result {
case .success(let json):
self.data = json
case .failure(let error):
print(error)
}
}
}
}
}
Note: It's important to handle the JSON data returned by the API properly, as the structure and content of the JSON data can vary depending on the API you're using. The above code snippet is just an example of how to use WebFetch in a SwiftUI application. The code snippet does not handle the JSON data returned by the API properly.
Check out the Kanye-Said-WebFetch-Example example application to learn how to use WebFetch
to retrieve a random Kanye West quote from an API and display it in a SwiftUI view.
Link: https://github.com/ishaanbedi/Kanye-Said-WebFetch-Example
When using WebFetch
in a SwiftUI application, make sure to parse the JSON data returned by the API properly and handle any errors that may occur during the process by keeping in mind that the fetch
method of the WebFetch
class returns a Result<Data, Error>
object, where Data represents the raw data returned by the API and Error represents any error that occurred during the fetch operation and how you can manipulate this structure and the raw data returned by the API to extract the data you need as per the requirements of your application using your understanding of Swift and JSON logic.
WebFetch is released under the MIT license. See LICENSE for details.