gpt4 book ai didi

ios - UITableView 未从 API 调用加载数据

转载 作者:行者123 更新时间:2023-11-30 13:50:33 26 4
gpt4 key购买 nike

在我的代码中,我有一个搜索栏,当单击其搜索按钮时,它会在此处触发此功能:

func getStocks(ticker: String) {
do {
try Stocks.getStocks(ticker, completion: {stockList in
self.listOfStocks = stockList
print("Stock item is: \n", self.listOfStocks.popLast())
dispatch_async(dispatch_get_main_queue(), {
self.saveStocks(self.listOfStocks.popLast()!)
self.tableView.reloadData()
})
})
} catch {
print("Failed to get stocks")
}
}

此函数的目的是通过我的 API 调用,获取用户在搜索栏中指定的项目的数据,将其附加到全局项目列表,同时还将全局列表中的最新项目保存到核心数据。后来我有一个代码块,用于设置文本单元格标签并将其设置为我的 Stock 结构的 name 属性:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("stockItem", forIndexPath: indexPath)
if let label:UILabel = cell.textLabel {
label.text = self.listOfStocks[indexPath.row].name
}

return cell
}

我已检查以确保重用标识符正确,这样就不会出现问题。

最佳答案

您首先需要找出代码中的问题所在。我将按照以下步骤来做到这一点。

  1. 确认您的 Stocks.getStocks() 静态函数正常工作并且 API 调用返回有效数据。您尚未为此提供代码。

  2. 检查您的数据源(在本例中为 self.listOfStocks)是否已使用 API 调用中的数据填充。在 getStocks() 方法中设置断点或使用 print 语句。

`

func getStocks(ticker: String) {
do {
try Stocks.getStocks(ticker, completion: {stockList in

if let list = stockList {
self.listOfStocks = list
dispatch_async(dispatch_get_main_queue(), {
if let last = self.listOfStocks.popLast() {
self.saveStocks(last)
}

self.tableView.reloadData()
})

} else {
print("ERROR: stockList is nil!")
}
})
} catch {
print("Failed to get stocks")
}
}
  • 检查您的 TableView 委托(delegate)和数据源委托(delegate)方法是否设置正确。下面是我如何检查我的 cellForRowAtIndexPath 方法。

    覆盖 func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 让 cell = tableView.dequeueReusableCellWithIdentifier("stockItem", forIndexPath: indexPath)

    if let datasource = self.listOfStocks[indexPath.row] {
    textLabel.text = datSource.name
    } else {
    textLabel.text = "Row \(indexPath.row): NOT set!"
    }

    return cell

    }

  • 关于ios - UITableView 未从 API 调用加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34340026/

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