为什么我不能创建一个访问tableView行的惰性属性?

时间:2017-05-16 14:18:53

标签: uitableview lazy-loading lazy-initialization

我想创建一个单元属性并访问它。我正在创建 lazy ,因为在tableView初始化期间无法访问它。

我把它作为我的tableViewController子类的属性,但是我收到以下错误:

  

对成员'tableView(_:numberOfRowsInSection:)'

的模糊引用

我的代码:

lazy var messageCell : CustomCell = tableView.cellForRowAtIndexPath(NSIndexPath(forRow: 1, inSection: 1)) as! CustomCell

然而,如果我在函数中发布没有lazy的确切行,那么它们都可以正常工作......

1 个答案:

答案 0 :(得分:0)

@IBOutlet个变量只能声明为类或结构的成员。在表格中设置tblView。我们称之为lazy。然后,您可以声明一个lazy var cell: CustomCell = { return self.tblView.cellForRow(at: IndexPath(row: 1, section: 1)) as! CustomCell }() 实例化变量,如下所示。

{{1}}

请记住,变量必须是类或结构的成员,而不是在函数

中声明