객체를 캐스트 해야하는 경우 중첩 속성을 어떻게 설정합니까?

StackOverflow https://stackoverflow.com/questions/1321217

  •  19-09-2019
  •  | 
  •  

문제

내 셀에 레이블을 설정하는 방법에서 (uitableview) 'ID'로 읽고 있습니다. 여러 가지 다른 유형의 셀을 읽고 있기 때문에 실제로 uitableviewcell입니다. 즉:

-(void)setMyCell:(id)cell atIndexPath:(NSIndexPath*)indexPath;

일부 셀은 일반적인 uitableviewcellstyle 유형이며 다른 부분은 더 복잡하고 다른 섹션의 경우 NIB 등을로드합니다.

내 사용자 정의 셀의 uilabel 텍스트 속성에 액세스하려면 다음과 같은 것을 할 수 있습니다.

[(CustomCell*) cell setMyTextLabel:@"text"];

그리고 레이블 텍스트를 설정하기 위해 CustomCell 클래스에서 메소드를 만들 수 있습니다.

일반 셀의 경우 레이블을 'TextLabel'이라고합니다. 나는 같은 일을 할 수 있다고 생각합니다

[(UITableViewCell*) cell setTextLabel:<new UILabel here>];

그러나 새로운 uilabel을 만들어야하기 때문에 다소 지저분 해 보입니다.

나는 시도했다

(UITableViewCell*)cell.textLabel.text = @"text";

셀이 ID가 아닌 클래스 uitableviewcell의 경우에 작동하지만이 경우에는 그렇지 않습니다.

그렇다면 새로운 uilabel을 만들지 않고 TextLabel.text를 설정하는 방법이 있습니까?

도움이 되었습니까?

해결책

카테고리를 추가해 보셨습니까? UITableViewCell 레이블 변경 방법을 사용하여 해당 메소드를 재정의합니다. CustomCell?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top