如何引用cellForRowAtIndexPath之外的单元格

Dup*_*ups 6 xcode uitableview ios swift

我正在尝试更新外部单元格中的标签

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
Run Code Online (Sandbox Code Playgroud)

通过使用

let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! Cell
Run Code Online (Sandbox Code Playgroud)

在另一个功能.但是,我一直在收到错误.因此,我试图通过使用来引用单元格let cell = Cell(),但是我得到了错误unexpectedly found nil.最后,我试过了

let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! Cell
Run Code Online (Sandbox Code Playgroud)

但不会返回错误,但标签cell.time.text不会更新.

Har*_*nda 18

Swift 3.0Swift 4

let indexPath = IndexPath(row: 0, section: 0)
let cell = tableView.cellForRow(at: indexPath)
Run Code Online (Sandbox Code Playgroud)

斯威夫特2.3

let indexPath = NSIndexPath(forRow: 0, inSection: 0)
let cell = tableView.cellForRowAtIndexPath(indexPath)
Run Code Online (Sandbox Code Playgroud)

注意: -在上述方法的帮助下,您只能获得tableView除细胞外的可见细胞为零


小智 8

如果您想在UITableView覆盖方法之外使用单元格,cellForRowAt indexPath那么首先,您需要获取indexPath行的 ,然后使用该indexPath行的单元格可以获得UITableView.

一次,您获得了单元格,然后您就可以在UITableView.

尝试这个:

在这段代码中,我使用了自定义单元格。

let indexPath = IndexPath.init(row: 0, section: 0)
let cell = tableView.cellForRow(at: indexPath) as! MembersCell
Run Code Online (Sandbox Code Playgroud)