2017-05-16 16 views
0

셀 속성을 만들고 액세스하려고합니다. 내가 게으름 만들기 때문에 tableView 초기화 중에 액세스 할 수 없습니다.tableView 행에 액세스하는 게으른 속성을 만들 수없는 이유는 무엇입니까?

나는 내 tableViewController 서브 클래스의 속성으로 배치,하지만 난 다음 오류 받고 있어요 :

Ambiguous reference to member 'tableView(_:numberOfRowsInSection:)'

내 코드 :

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

그러나 나는이 정확한 라인없이 게시하는 경우 함수 안에있는 lazy은 모두 잘 작동합니다 ...

답변

0

lazy 변수는 클래스 또는 구조체의 멤버로만 선언 할 수 있습니다 ct. 테이블에 @IBOutlet을 설정하십시오. tblView이라고합시다. 그런 다음 아래와 같이 lazy 인스턴스 변수를 선언 할 수 있습니다.

lazy var cell: CustomCell = { 
    return self.tblView.cellForRow(at: IndexPath(row: 1, section: 1)) as! CustomCell 
}() 

가변 클래스의 부재 또는 구조체 및 기능 내에서 선언되지 않을 수 있고, 기억