2012-04-25 2 views
0

iPad 응용 프로그램에서 레이블에 값을 삽입하려고합니다. 이 값은 다른 클래스의 UITableView에도 표시되어야합니다. 레이블에 값을 삽입하고 다른보기로 이동하면 표보기에 아무런 값도 표시되지 않지만 표보기를 위로 스크롤하면 원래 위치로 값이 표시됩니다. 어떻게 해결할 수 있습니까?값이 스크롤 된 후에 UITableView에 표시됩니다.

감사와 관련

PC

답변

1

테이블을 스크롤하면 결국 데이터가 표시 될 때 데이터가 다시로드됩니다. viewill에서 [tableView reloadData]으로 전화를 걸면 레이블이 새로 고쳐지고 올바르게 표시되어야합니다.

행운을 빌어 요!

+0

안녕하세요, 이것을 시도했습니다. 그러나 테이블을 다시로드하면 스크롤 한 후에도 값이 표시되지 않습니다. 또한 테이블의 상단 셀이 누락되었습니다. –

+0

테이블을로드 할 때 데이터를 다시 초기화 할 수있는 것처럼 들립니다. 레이블이 다른 클래스에서 제어된다는 사실은 아마도 다소 비난받을 것입니다. 코드를 단계별로 실행하고 값을 추적해야합니다. 똑같은 일을하게하는 두 가지 대답이 나타 났으므로, 이것은 UITableView의 데이터가 변경 될 때 올바른 방법입니다. 코드를 단계별로 실행하고 데이터 자체의 라이프 사이클을 지켜 보는 것이 좋습니다. – MystikSpiral

+0

알았어. 나는 틀린 장소에서 테이블을 다시로드하고 있었다. 도움을 주셔서 감사합니다 .. –

1

체크 아웃 설명서의 reloadData 방법. 테이블이 현재 표시된 셀을 다시로드하도록 값을 변경 한 후에이 메서드를 호출해야합니다. 위로 스크롤하면 셀이 다시 그려 지므로 스크롤 한 후에 새 값을 볼 수 있습니다.

명확히하기 위해 reloadData 메서드를 UITableView 개체에서 호출해야합니다. 문서에서

[myTableView reloadData];

:

다시로드 행과 수신기의 섹션.

- (void)reloadData

토론

부르는 방법 등 셀 섹션 헤더와 푸터 인덱스 어레이를 포함하는 테이블을 생성하는 데 사용되며, 모든 데이터를 다시로드한다. 효율성을 위해 표보기는 표시되는 행만 다시 표시합니다. 테이블을 다시로드 한 결과 축소되면 오프셋을 조정합니다. 테이블 뷰의 위임 또는 데이터 소스는 테이블 뷰가 데이터를 완전히 다시로드하기를 원할 때이 메서드를 호출합니다. 특히 beginUpdates 및 endUpdates에 대한 호출로 구현 된 애니메이션 블록 내에서 행을 삽입하거나 삭제하는 메서드에서 호출하면 안됩니다.

+0

안녕하세요, 저는 이것을 시도했습니다. 그러나 테이블을 다시로드하면 스크롤 한 후에도 값이 표시되지 않습니다. 또한 테이블의 상단 셀이 누락되었습니다. –

관련 문제