2013-10-10 2 views
4

저는 7을 사용하고 있습니다.ios 7 dequeueReusableCellWithIdentifier : forIndexPath 메서드 - registerClass 메서드가 필요합니까?

빠른 질문. dequeueReusableCellWithIdentifier : forIndexPath를 사용하는 작업 프로그램에서 두 개의 프로토 타입이있는 셀을 표시합니다. 나는 UITableView registerClass 메서드를 사용한 적이 없다.

즉, 세포를 재사용하지 않는다는 뜻입니까? 내 생각에 이것은 (이전 상태를 유지하는 세포와 관련된이 응용 프로그램에서 이전에 버그를 수정 한 것처럼) 경우가 아닙니다.

실제로 registerClass를 사용하는 경우 (tableVieW의 viewDidLoad에서) 내 데이터가 표시되지 않습니다. 이유가 무엇입니까?

감사합니다. 셀은 (는) 클래스를 등록 할 필요가 없습니다 스토리 보드 내에서 프로토 타입을 사용하여 만들어집니다

[self.tableView registerClass:[ProtoCell1 class] forCellReuseIdentifier:@"proto1"]; 
[self.tableView registerClass:[ProtoCell2 class] forCellReuseIdentifier:@"proto2"]; 
+0

"내 데이터가 표시되지 않는 - 왜 어떤 생각? " 어떻게 알 수 있니? 당신은 어떤 코드도 놓지 않았다. 클래스 등록은 새로운 기능 일 뿐이므로 두 가지 방법을 모두 사용할 수 있습니다. 하지만 어쩌면 오래된 방법은 지금 depricated입니다 – BergP

+0

나는 그것이 도움이된다면, 레지스터 클래스를 추가하는 코드를 추가했습니다. – serverman

+0

@serverman은 스토리 보드를 사용하고 있습니까? –

답변

8

경우 다음과 같이

UPDATE 내가있는 viewDidLoad에있는 registerClass 코드를 추가합니다. 이미 인터페이스 빌더에서 선언 된 경우 렌더링에서보기를 방지 할 수

registerClass:forCellWithReuseIdentifier 

를 사용

. 당신은 스토리 보드에서 휴대 식별자를 등록하고

dequeueReusableCellWithReuseIdentifier: 

다음 다시 사용한다 세포 를 사용하는 경우 실제로합니다 (있는 TableView에있는 viewDidLoad에서) 지금있는 registerClass를 사용하는 경우

+0

감사합니다 카일, 내 질문에 대한 답변! – serverman

+0

감사합니다. – mikey

관련 문제