我想从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)
}
3 回答
如果你只是想得到一些单元格的参考,也许你需要:
并且,如果要为tableViewCell设置数据,则应在
UITableViewDataSource
方法中执行此操作:cellForRowAtIndexPath .调用tableview方法cellForRowAtIndexPath几乎总是错误的 . 如果索引路径不适用于屏幕上可见的单元格,则返回nil . 您的情况更糟,因为您调用该函数,然后不使用其值 . 绝对的,完全错误的是从你自己的委托cellForRowAtIndexPath以外的任何地方调用dequeue ....
当你试图打开它时,显然
mytableView
或indexPath
是nil
. 在强制打开它们之前,必须检查这两个对象是否保持正确的值 .