swift - 实例化 UITableViewCell 以便在 TableView 方法之外使用

标签 swift swift2

对此可能有一个简单的答案。

我正在尝试从我的自定义 tableviewcell 访问变量,我已经尝试以多种方式实例化该单元格,但每次我都收到一个错误,指出该值为 nil,这让我相信我有没有正确初始化单元格。

我知道要实例化一个 viewcontroller 我会做一些事情,例如:

 let vc = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("UserProfile") as! UserProfileViewController

有没有类似的方法来初始化一个tableviewcell

澄清一下:

我想做一些事情,例如:

func doSomethign() {
   let cell = CustomTableViewCell()

   cell.user = username
}

最佳答案

您不应该以这种方式直接创建单元格。相反,您首先注册您的单元以供重用:

tableView.registerNib(UINib(nibName: "yourNib", bundle: nil), forCellReuseIdentifier: "CellIdentifier")

然后在需要时将单元格出队:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("CellIdentifier", forIndexPath: indexPath)
    cell.user = username
    return cell
}

这是因为 tableView 将重用滚动到屏幕外的单元格以提高性能。请注意,它需要您设置单元格的重用标识符才能正确匹配。

关于swift - 实例化 UITableViewCell 以便在 TableView 方法之外使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35590797/

相关文章:

ios - 通过 Facebook native 应用程序共享时缺少“引用”-iOS Facebook SDK

ios - 如何在 ios 中通过 FTP 上传文件?

Swift 模块 - 导入时我得到 "Redefinition of ' x' 作为不同类型的符号”

Swift 函数不在更新 View 中绘制圆圈

ios - 无法安装 Firebase iOS SDK (v3.2.0)

ios - 在 swift 2.0 中允许用户播放背景音乐

ios - 强制图层不在选项卡栏中旋转

swift - Cookie 数据无法在 Swift 2 (Apple TV) 中存档

ios - 在 iOS 和 Swift 中播放声音而不会发生内存泄漏的可重用扩展?

ios - Swift 的 AGPushNote 替代品?