Я новичок в Swift и пробую базовый анализ JSON, следуя инструкциям.Я хочу напечатать поле файла JSON, но оно не работает.
Несмотря на то, что ссылка существует, и я использую ту же ссылку, что и в предыдущем уроке, она возвращает, а не переходит к доступу к JSON.
Я понимаю, что "проще"способ сделать это в Swift4 с помощью декодера, но я получил ошибку, когда я сделал это таким образом.
Вот структура, которую я использую:
struct Tester {
var userId: Int
var id: Int
var title: String
var body: String
init(json: [String: Any]){
userId = json["userId"] as? Int ?? -10
id = json["id"] as? Int ?? -400
title = json["title"] as? String ?? ""
body = json["body"] as? String ?? ""
}
}
А вот код, которыйпытается получить доступ к записям JSON
@IBAction func printIDTitle(_ sender: Any) {
guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts") else { return }
let session = URLSession.shared
session.dataTask(with: url) { (data, response, error) in
if let response = response {
print(response)
}
guard let data = data else { return }
do {
print("here 0\n")
guard let json = try JSONSerialization.jsonObject(with: data, options: .mutableContainers) as? [String: Any] else {
print(error)
return
}
print("here 0.5\n")
print("here 1\n")
let d = Tester(json: json)
print(d.id)
print(d.title)
print("here 2\n")
} catch let error {
print(error)
}
}.resume()
}
«Здесь 0» - единственная распечатка, которая появляется.В чем может быть моя проблема?