gpt4 book ai didi

ios - swift 3 : index out of range error

转载 作者:行者123 更新时间:2023-11-28 18:52:03 25 4
gpt4 key购买 nike

我是 iOS 新手。通过观看使用 Swift 2 编写的教程来做项目。
它在作者运行应用程序时有效,但在我的情况下无效。

View Controller :

var books = [[String: AnyObject]]()

override func viewDidLoad() {
super.viewDidLoad()

tableView.dataSource = self
searchBar.delegate = self
}

和扩展

extension ViewController: UITableViewDataSource {

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "BookCell", for: indexPath)

// error on this line
if let volumeInfo = self.books[indexPath.row]["volumeInfo"] as? [String: AnyObject] {
cell.textLabel?.text = volumeInfo["title"] as? String
cell.detailTextLabel?.text = volumeInfo["subtitle"] as? String
}

return cell
}
}

控制台输出:

enter image description here

请帮助我确定是什么原因。

最佳答案

您必须从 numberOfRowsInSection 返回 books.count,如果该值与数据源数组相关,则永远不要“硬编码”该值.

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return books.count
}

PS:在 Swift 3 中你应该使用 [String:Any] 而不是 [String:AnyObject]

关于ios - swift 3 : index out of range error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40025638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com