У меня проблема с моим текущим проектом. Прежде всего, мне нравится реализовывать JSON
запрос API, который позволяет мне получить заголовок из URL. Проблема: я хочу отобразить данные JSON
в UITableViewCell
.
Но Xcode
выдает следующую ошибку:
Невозможно присвоить типу тип 'FirstViewController.Title'.
'Строка?
Возможно, в моем коде больше неправильного, потому что я новичок в Swift / Xcode
Я уже пробовал это:
cell.textLabel?.text = course.title as? String
Но я получил следующее предупреждение:
Cast from 'FirstViewController.Title' to unrelated type 'String' always fails
Это мой пример кода:
var courses = [Course]()
let cell = "ItemCell"
override func viewDidLoad() {
super.viewDidLoad()
fetchJSON()
}
struct Course: Codable {
let title: Title
enum CodingKeys: String, CodingKey {
case title
case links = "_links"
}
}
struct Links: Codable {
}
struct Title: Codable {
let rendered: String
}
fileprivate func fetchJSON() {
let urlString = "ExampleURL"
guard let url = URL(string: urlString) else { return }
URLSession.shared.dataTask(with: url) { (data, _, err) in
DispatchQueue.main.async {
if let err = err {
print("Failed to get data from url:", err)
return
}
guard let data = data else { return }
do {
let result = try JSONDecoder().decode(Course.self, from: data)
self.tableView.reloadData()
} catch let jsonErr {
print("Failed to decode:", jsonErr)
}
}
}.resume()
}
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return courses.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell(style: .value1, reuseIdentifier: "ItemCell")
let course = courses[indexPath.row]
cell.textLabel?.text = course.title as? String // Cast from 'FirstViewController.Title' to unrelated type 'String' always fails
return cell
}
Я просто хочу получить WordPress
сообщений в UITableView
- UITableViewCell
.
Может быть, вы можете сказать мне, если это неправильно, я попробовал, но я не знаю, как решить эту проблему
Заранее спасибо