2013-06-12 2 views
0

위로 앞으로 : 나는 멍청한 놈입니다.UITablevIewCell textLabel 텍스트를 두 번째로 설정할 수 없습니다.

UITableViewCell의 textLabel 객체에 텍스트를 설정하는 메소드가 있습니다. 관련 코드 스 니펫은 다음과 같습니다.

NSLog(@"BEFORE .textLabel.text: %@", _addWarmupActivityTableViewCell.textLabel.text); 
NSLog(@"BEFORE activity.name: %@", theSelectedActivityToDisplayAndSave.name); 
_addWarmupActivityTableViewCell.textLabel.text = theSelectedActivityToDisplayAndSave.name; 
NSLog(@"AFTER .textLabel.text: %@", _addWarmupActivityTableViewCell.textLabel.text); 

처음 설정하면 작동합니다.

[12231:c07] BEFORE .textLabel.text: (null) 
[12231:c07] BEFORE activity.name: Animal Movements 
[12231:c07] AFTER .textLabel.text: (null) 

은 내가 조금임을 인정해야합니다 다음 로깅 같이이 널을 반환, 그리고

[12231:c07] BEFORE .textLabel.text: (null) 
[12231:c07] BEFORE activity.name: Animal Movements 
[12231:c07] AFTER .textLabel.text: Animal Movements 

이 후라고 이후의 시간 : 당신은이 기록으로 볼 수있다 엉망진창. textLabel이 수정 될 때마다 실제로 다른 UILabel 객체를 만드는 다른 게시물을 읽었습니다. 그러나, 나에게, 그것은 그것을 설정하려고 시도한 후에 왜 그것이 (null) 한 줄인지를 설명하지 못한다.

올바른 방향으로 어떤 포인터가 크게 감사하겠습니다.

건배.

+0

매우 혼란 스럽습니다. – Divyu

+0

_addWarmupActivityTableViewCell 및 _addWarmupActivityTableViewCell.textLabel이 둘 다 제정신이되는지 확인하기 위해 중단 점을 설정해 보셨습니까? – Bemmu

+0

셀을 할당 한 블록 내에서 레이블을 설정하지 않도록하십시오. 재사용 가능한 셀 시스템을 사용하는 경우 레이블이 한 번만 호출됩니다. –

답변

0

셀을 할당/제거 해제 한 코드가 표시되지 않으므로 말하기 어렵습니다. 나열한 것보다 어딘가에 할당한다고 가정합니다.

- (UITableViewCell *)tableView:(UITableView *)tv cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"]; 
    if (!cell) 
    { 
     cell = [[UITableViewCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:@"cell"]; 
    } 
    cell.textLabel.text = theSelectedActivityToDisplayAndSave.name; // wherever you get this from 
    return cell; 
} 

합니까 당신이 사용하고있는 방법과 유사 :

당신이 뭔가를해야 할거야?

내가보고있는 것은 셀이 올바르게 할당되었는지 여부입니다.

+0

정적 테이블이라고 언급 했어야합니다. 늘어나는만큼 내 이해를 확장, cellForRowAtIndexPath 정적 테이블에 적용 할 수 없습니다. 나는 틀린가? – brizrobbo

+0

감사합니다. 이것은 올바른 방향으로 나를 설정합니다. 나의 미경험에서 필자는 필연적으로 진실이 아닌 가정을하고 있었다. 어쨌든, 나는 클래스의 데이터 소스 컴포넌트를 재구성하고 cellForRowAtIndexPath를 구현했다. 지금 원하는대로 작동하고 있습니다. – brizrobbo

관련 문제