Ios 在展开可选值access tableView单元格时意外发现nil

Ios 在展开可选值access tableView单元格时意外发现nil,ios,swift,tableview,Ios,Swift,Tableview,我想从tableView func外部访问tableView的单元格, 例如,在本例中,我希望从iAction Func访问,然后我创建了tableView对象和IndexPath对象,当我运行项目时,Xcode向我显示以下错误: 致命错误:在展开可选值时意外发现nil 对于此行:mytableView!。CellForRowatineXpath(indexPath!) 如果您只想获取某个单元格的ref,可能需要: func getTableViewCell() -> UITableVi

我想从tableView func外部访问tableView的单元格, 例如,在本例中,我希望从iAction Func访问,然后我创建了tableView对象和IndexPath对象,当我运行项目时,Xcode向我显示以下错误:

致命错误:在展开可选值时意外发现nil

对于此行:
mytableView!。CellForRowatineXpath(indexPath!)


如果您只想获取某个单元格的ref,可能需要:

func getTableViewCell() -> UITableViewCell? {
    guard let tableView = mytableView, index = indexPath 
    else { return nil }

    return tableView.cellForRowAtIndexPath(index)
}

而且,如果要为tableViewCell设置数据,应该在
UITableViewDataSource
方法中执行此操作:。

如果只想获取某个单元格的引用,可能需要:

func getTableViewCell() -> UITableViewCell? {
    guard let tableView = mytableView, index = indexPath 
    else { return nil }

    return tableView.cellForRowAtIndexPath(index)
}

而且,如果您想为tableViewCell设置数据,您应该在
UITableViewDataSource
方法中执行此操作:。

当您试图将其展开时,显然
mytableView
indexPath
nil
。在强制展开之前,必须检查这两个对象是否具有正确的值。

当您尝试展开时,显然
mytableView
indepath
nil
。在强制展开它们之前,必须检查这两个对象是否具有正确的值。

调用tableview方法cellForRowAtIndexPath几乎总是错误的。如果索引路径不适用于屏幕上可见的单元格,则返回nil。您的情况更糟,因为您调用了函数,然后没有使用它的值。绝对、完全错误的是调用出列。。。。从除您自己的代理单元格外的任何其他位置开始

调用tableview方法cellForRowAtIndexPath几乎总是错误的。如果索引路径不适用于屏幕上可见的单元格,则返回nil。您的情况更糟,因为您调用了函数,然后没有使用它的值。绝对、完全错误的是调用出列。。。。从除您自己的代理单元格外的任何其他位置开始

在何处创建indexPath?不应在此方法中将单元格出列。如果
cellforrowatinexpath
返回nil,则当前没有可用于该索引路径的单元格,您应该继续。您在何处创建indexPath?您不应该在此方法中将单元格出列。如果
cellforrowatinexpath
返回nil,则当前没有可用于该索引路径的单元格,您应该继续。