gpt4 book ai didi

ios - 将 tableview 导出作为 cellForRowAtindexPath 中的参数传递

转载 作者:行者123 更新时间:2023-11-30 12:06:21 25 4
gpt4 key购买 nike

我正在从 View Controller 的 textFieldShouldReturn 中手动调用 cellForRowAtindexPath,并且 cellForRowAtindexPath 的参数是 tableViewOutlet > 和 indexPath (本例中为“index”)。这里 cellForRowAtindexPathtableViewOutlet 都来自另一个 View Controller ,我通过使用实例来调用它们。

一旦 cellForRowAtindexPath 调用它,就会显示如下错误:

unexpectedly found nil while unwrapping an optional value.

func textFieldShouldReturn(_ textField: UITextField) -> Bool {
textField.resignFirstResponder()
if(textField == carRating){
let rating = Float(textField.text!)
secondInstanceForMyData.masterCarData[index.row].carRating = rating
let _: MyTableViewCell = myViewControllerInstance.tableView(myViewControllerInstance.tableViewWillLoad as UITableView, cellForRowAt: index) as! MyTableViewCell
}
return true
}

最佳答案

你在这里调用的是tableView数据源方法tableView(tableView:cellForRowAt:),它永远不应该由你调用,它必须由你实现。可以这样想,这个方法需要为表格 View 提供一个单元格,而不是要求它。

如果您想从已填充的表格 View 中获取单元格,请调用表格 View 方法cellForRow(at:)

let indexPath = IndexPath(row: 0, section: 0)
if let cell = tableView?.cellForRow(at: indexPath) as? MyTableViewCell {
// do something with the cell
}

如果您想更新表格 View ,则需要更新数据源并在表格 View 上调用 reloadData() 或调用其中一种更新方法。

关于ios - 将 tableview 导出作为 cellForRowAtindexPath 中的参数传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46633751/

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