使用 Github API / SwiftUI 显示您的 github 数据
display your github data using Github API / SwiftUI
待完成的任务:使用 Github API.[=16= 让您的 github 数据显示在 ContentView 屏幕上]
struct TaskEntry: Codable {
let id: Int
let title: String
}
@State var results = [TaskEntry]()
func loadData() {
guard let url = URL(string: "https://jsonplaceholder.typicode.com/todos") else {
print("Invalid URL")
return
}
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
if let response = try? JSONDecoder().decode([TaskEntry].self, from: data) {
DispatchQueue.main.async {
self.results = response
}
return
}
}
}.resume()
}
上述解决方案对执行此任务没有帮助
i didn't understand how to use these docs
感谢关注。
帮助那些知道...
尝试类似这种方法来显示从 github 检索到的一些信息。
您的信息需要一个模型,我在这里称之为 Repository
。
然后您需要使用适当的 url 从 github 服务器获取信息,如 loadData
所示。最后,您需要在视图中显示信息,如 ContentView
.
所示
struct Repository: Decodable, Identifiable {
let id: Int
let name, fullName: String
enum CodingKeys: String, CodingKey {
case id, name
case fullName = "full_name"
}
}
struct ContentView: View {
@State var results = [Repository]()
var body: some View {
List {
ForEach(results) { repo in
Text(repo.name)
}
}
.onAppear {
loadData()
}
}
func loadData() {
guard let url = URL(string: "https://api.github.com/users/workingdog/repos") else { return }
URLSession.shared.dataTask(with: url) {(data, _, _) in
guard let data = data else { return }
do {
self.results = try JSONDecoder().decode([Repository].self, from: data)
} catch {
print("error: \(error)")
}
}.resume()
}
}
请注意,要检索您的 github 存储库信息,请将 url 中的 workingdog
替换为您的 github 名称。
PS:您是否阅读了上一个问题的答案:
这个答案不适合你吗?
待完成的任务:使用 Github API.[=16= 让您的 github 数据显示在 ContentView 屏幕上]
struct TaskEntry: Codable {
let id: Int
let title: String
}
@State var results = [TaskEntry]()
func loadData() {
guard let url = URL(string: "https://jsonplaceholder.typicode.com/todos") else {
print("Invalid URL")
return
}
let request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, response, error in
if let data = data {
if let response = try? JSONDecoder().decode([TaskEntry].self, from: data) {
DispatchQueue.main.async {
self.results = response
}
return
}
}
}.resume()
}
上述解决方案对执行此任务没有帮助
i didn't understand how to use these docs
感谢关注。 帮助那些知道...
尝试类似这种方法来显示从 github 检索到的一些信息。
您的信息需要一个模型,我在这里称之为 Repository
。
然后您需要使用适当的 url 从 github 服务器获取信息,如 loadData
所示。最后,您需要在视图中显示信息,如 ContentView
.
struct Repository: Decodable, Identifiable {
let id: Int
let name, fullName: String
enum CodingKeys: String, CodingKey {
case id, name
case fullName = "full_name"
}
}
struct ContentView: View {
@State var results = [Repository]()
var body: some View {
List {
ForEach(results) { repo in
Text(repo.name)
}
}
.onAppear {
loadData()
}
}
func loadData() {
guard let url = URL(string: "https://api.github.com/users/workingdog/repos") else { return }
URLSession.shared.dataTask(with: url) {(data, _, _) in
guard let data = data else { return }
do {
self.results = try JSONDecoder().decode([Repository].self, from: data)
} catch {
print("error: \(error)")
}
}.resume()
}
}
请注意,要检索您的 github 存储库信息,请将 url 中的 workingdog
替换为您的 github 名称。
PS:您是否阅读了上一个问题的答案:
这个答案不适合你吗?