2011-09-11 6 views

답변

1

왜 비어있는 셀이 있습니까? 일관된 기술을 사용하여 테이블의 셀 수와 해당 셀의 내용을 모두 제어하고 있습니까?

UITableViewController를 사용하는 경우 컨트롤러가 자동으로 tableview의 데이터 소스로 선언됩니다. UIViewController를 사용하고 있다면, UITableViewDataSource 프로토콜에 맞게 (그리고 인터페이스 빌더에 연결하여) 선언 할 것이다.

어느 쪽이든은있는 tableview의 데이터 소스로, 컨트롤러는 두 가지 방법을 구현하기 위해 필요합니다 -있는 tableView : cellForRowAtIndexPath를 : -있는 tableView : numberOfRowsInSection :

이 아마도 당신이 배열로있는 tableview에 대한 데이터를 제공하고 있습니다 또는 -tableview 내부의 다른 수단 : cellForRowAtIndexPath :. 이 메서드 내에서 셀의 레이블은 배열의 항목에서 설정됩니다. 그리고 tableView : numberOfRowsInSection 내부 : [myArray count]와 같은 일을하면 셀의 수를 반환합니다. tableview : cellForRowAtIndexPath는 (tableview : numberOfRowsInSection :)에서 제공 한 것에 의해 지시 된 횟수만큼 호출됩니다. 데이터 소스 배열이 변경되면, 당신은 당신이 어떤 경우에이 계산 비용이 될 수 있도록 reloadData가 전체의 tableview를 다시로드 것을

[self.tableview reloadData]; //if inside a UITableViewController 

[self.myTableViewOutlet reloadData]; //if inside a UIViewController 

주를 호출 할 수 있습니다, 당신의 tableview의 변경 사항을 반영하고 싶습니다. 이 경우 reloadData를 호출하는 대신 deleteRowsAtIndexPaths : withRowAnimation : (UITableView Class Reference 참조)

+0

안녕 매트, 내가 문제를 발견, 그것은 라이브러리를 비동기 적으로 이미지를로드하는 셀을 비우는 데 사용했다. 당신이 이미 여기에 게시 한 몇 가지 질문에 대답했기 때문에 당신은 반쯤 익숙해 져 있습니다. :) 이제 사용자를 로그 아웃하고 다른 사용자와 로그인 할 때 문제가 발생합니다. 문제는 UITableView 새로운 사용자 eventhough에 대한 새 데이터를 가져 오지 않는 데 refindhed 않습니다 그리고 내가 viewdidload(), 어떤 생각에 reloadData 넣어 이유는 무엇입니까? – ahoura

+0

코드를 보지 않고 말하기는 어렵습니다. 새로운 질문에 코드를 게시 할 수 있습니다. 코드의 일부로 구조화 된 질문을 공식화하는 것은 종종 문제를 생각하는 좋은 방법입니다. 그 동안 문제를 직접 디버깅하려면 NSLog (@ "some text here")를 입력해야합니다. 귀하의 tableview에 statement : cellForRowAtIndexPath : 메서드와 viewDidLoad 메서드. 이렇게하면 메서드가 호출되는 시점 또는 그렇지 않은 시점을 확인할 수 있습니다. – MattyG

+0

답장을 보내 주셔서 감사합니다. 솔루션을 찾았습니다. TabBar 컨트롤러를 사용할 때 UIView가 캐시되기 때문에 viewWillAppear() 함수를 사용하여 UIView를 업데이트했습니다. 하지만 다시 감사합니다 – ahoura

0

응용 프로그램 대리인은 셀을 제공해야합니다. 모든 셀과 테이블에있는 셀의 수를 반환하는 것은 귀하의 책임입니다. 따라서 응용 프로그램 위임자는 NSMutableArray 또는 다른 방법을 통해 테이블보기로 돌아가는 데이터를 변경하는 방법을 가져야합니다.

+0

메서드를 사용하여 개별 행에 집중할 수 있습니다. '앱 대리자'는 뷰 컨트롤러의 tableview와 관련이 거의 없습니다. tableview 대리자 및 데이터 소스를 의미합니까? – MattyG

관련 문제