swiftでのjsonの利用についてです。
クラス内のメンバ変数titleが、getJSON関数の中で書き換えることが出来ているつもりなのですが、結果を表示すると書き換えられていません。
どこに誤りがあるのかが分からない状態なので、指摘して頂けると幸いです。
以下、コード内下部で「//ここでtitleが書き変わらない」と表示してあるところが直したい箇所です。
どうぞよろしくお願いします。
import UIKit import PlaygroundSupport PlaygroundPage.current.needsIndefiniteExecution = true struct Results: Codable{ let status: String let items: [Items] } struct Items: Codable{ let title: String let link: String let pubDate: String } class Client { var title:String = "default" func someTask(){ let url = URL(string: "https://api.rss2json.com/v1/api.json?rss_url=http%3A%2F%2Fnogizaka.readers.jp%2Frss1s.rss")! let task = URLSession.shared.dataTask(with: url) { data, response, error in if let jsonData = data {self.getJSON(jsonData)}} task.resume() } func getJSON(_ data: Data) { do { let results = try JSONDecoder().decode(Results.self, from: data) let result_items = results.items let res_title:String = result_items[0].title // ### **ここでtitleが書き変わらない** self.title = res_title } catch { print("parse error!") } } } let client = Client() client.someTask() print(client.title)
あなたの回答
tips
プレビュー