import SwiftUI
struct Joke: Codable,Identifiable{
let id = UUID()
var joke: String
var status: Int
}
struct ContentView: View {
@State private var jokes: [Joke] = []
var body: some View {
NavigationView {
VStack {
List {
ForEach(jokes) { joke in
Text(joke.joke)
}
}
.navigationBarTitle(Text("ICanHazDadJokes"))
Button(action: {self.getJoke()},
label: {Text("Get Another Joke")})
}
}
.onAppear(perform: { self.getJoke() }) }
func getJoke() {
let url = URL(string: "https://icanhazdadjoke.com/")!
var urlRequest = URLRequest(url:url)
urlRequest.addValue("text/plain",forHTTPHeaderField: "Accept")
URLSession.shared.dataTask(with: urlRequest) { data, response, error in
if let data = data,
let httpResponse = response as? HTTPURLResponse, (200..<300) ~= httpResponse.statusCode,
let strData = String(bytes: data, encoding: .utf8)
{
print(strData)
self.jokes.insert(Joke(joke: strData, status: 20), at: 0)
} }.resume()
}
}
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Cocos2d-x 获取网络图片缓存并展示
请参见:http://www.cnblogs.com/zisou/p/cocos2dxWLTP.html
Cocos2d-x 获取网络图片 缓存 展示 获取网络图片缓存并展示