对此可能有一个简单的答案。
我正在尝试从我的自定义 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/