我想从tableView func外部访问tableView的单元格, 例如,在这种情况下,我想从IBAction Func访问,然后我创建了tableView对象和IndexPath对象,当我运行我的项目时,Xcode向我显示了这个错误:
致命错误:在展开“可选值”时意外发现nil
这一行:mytableView!.cellForRowAtIndexPath(indexPath!)
@IBAction func editButtonFunc(sender: AnyObject) {
mytableView!.cellForRowAtIndexPath(indexPath!)
let cell =
mytableView!.dequeueReusableCellWithIdentifier(
"mycell", forIndexPath: indexPath!)
as! profileTableViewCell
cell.contentOutlet.text = contentItems[indexPath!.row]
cell.contentOutlet.textAlignment = NSTextAlignment.Right
cell.contentOutlet.font = UIFont(name: "X Yekan", size: 18)
}
答案 0 :(得分:0)
如果您只想获得某个单元格的参考,也许您需要:
func getTableViewCell() -> UITableViewCell? {
guard let tableView = mytableView, index = indexPath
else { return nil }
return tableView.cellForRowAtIndexPath(index)
}
并且,如果要为tableViewCell设置数据,则应使用UITableViewDataSource
方法执行此操作:cellForRowAtIndexPath
。
答案 1 :(得分:0)
当您尝试打开它时,显然mytableView
或indexPath
为nil
。在强行打开它们之前,必须检查这两个对象是否保持正确的值。
答案 2 :(得分:0)
调用tableview方法cellForRowAtIndexPath几乎总是错误的。如果索引路径不适用于屏幕上可见的单元格,则返回nil。你的情况更糟,因为你调用函数然后不使用它的值。绝对的,完全错误的是从你自己的委托cellForRowAtIndexPath以外的任何地方调用dequeue ....