我一直在尝试开发一个应用程序,该应用程序从 Google Books API(名称、作者和图像)获取书籍的某些信息并在集合视图中显示图像
var bookInfo = [Book]()
let urlString = "https://www.googleapis.com/books/v1/volumes/J8ahqXjUhAAC"
override func awakeFromNib() {
super.awakeFromNib()
collectionView.delegate = self
collectionView.dataSource = self
let url = URL(string: urlString)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
do {
self.bookInfo = try JSONDecoder().decode([Book].self, from: data!)
for info in self.bookInfo {
print(info.bookName)
}
}
catch {
print("error")
}
}
}
下面是一个结构,它代表我要捕获的内容,但不确定这是否完全正确。
struct Book: Codable {
var bookName: String
var imageURL: String
var pageCount: Int
var author: String
var format: String
}
struct volumeInfo: Codable {
var bookInfo: [Book]
}
运行此代码时,我没有收到任何错误,但应用程序无法获取任何内容并且我UIImageView
的为空。