배열로 채워지는 UITableView가 있는데,이를 눌렀을 때 배열에 항목을 추가하고 UITableView에서 [self.tableView reloadData]를 호출하는 탐색 표시 줄에 버튼이 있습니다. 이 결과 numberOfRowsInSection이 호출되고 올바른 행 수 (배열의 항목 수)를 반환하지만 cellForRowAtIndexPath는 호출하지 않습니다. 해결책을 찾기 위해 새로운 탐색 기반 응용 프로그램을 만들었지 만 똑같은 문제가 있습니다! 누군가가 답변을 알고 있다면 크게 감사 할 것입니다, 나는 마지막 날 동안 내 머리카락이 남아있는 것을 찢어 버렸습니다! 테스트 프로젝트의 소스를 내 사이트 (www.sofaracing.com/Downloads/Test3.zip)에 넣었습니다.문제점로드 중 문제가 발생했습니다.
답변
저에게 맞습니다! ;)
MainWindow.xib에서 루트보기 컨트롤러 (네비게이션 컨트롤러의 일부가 아님)를 추가했습니다. 필요하지 않아도 삭제합니다. 그런 다음 콘센트 refreshFriendsList를 RootViewController의 NavigationItem의 Bar Button에 연결하십시오. 뭐, 마술!
참고 사항 : 경고를 정리해야 할 수 있습니다. 그리고 UIApplication sharedApplication을 사용하는 대신 데이터 모델에 대한 클래스를 만드는 방법을 생각해 볼 수도 있습니다.
좋아, MainWindow.xib의 NavigationController에서 RootViewController를 삭제했지만 그걸 사용하지 않고 IBAction에 막대 버튼을 연결하는 방법을 이해하지 못한다 ...? –
내 의견을 무시, 알았어! 정말 고맙습니다! –
신속하게 테스트 응용 프로그램을 디버깅했습니다. 내가 근본 원인을 발견 할 수는 없지만 인터페이스 빌더 설정에서 엉망으로 인해 두 가지 테이블 뷰가있는 것 같습니다.
원래 배열을 항목으로 초기화하면 cellForRowAtIndexPath가 올바르게 호출됩니다. 이 호출에서 self.tableView 인스턴스를 검사하고 나중에 refreshFriendsList를 호출하면 self.tableView가 다른 인스턴스를 가리 킵니다.
2009-05-17 14:33:07.591 Test3[33580:20b] cellForRowAtIndexPath 0
2009-05-17 14:33:07.594 Test3[33580:20b] self.tableView: <UITableView: 0x52b9b0>
2009-05-17 14:42:36.810 Test3[33762:20b] numberOfRowsInSection: tableView <UITableView: 0x53bcd0>
- 1. 이미지를로드하는 중 문제가 발생했습니다.
- 2. 서블릿 실행 중 문제가 발생했습니다.
- 3. struts2 동작 중 문제가 발생했습니다.
- 4. 이미지 축소판을로드하는 중 문제가 발생했습니다.
- 5. JBoss 실행 중 문제가 발생했습니다.
- 6. cPickle 사용 중 문제가 발생했습니다.
- 7. jasperreports를 업그레이드하는 중 문제가 발생했습니다.
- 8. .htaccess를 활성화하는 중 문제가 발생했습니다.
- 9. viewcontroller 푸시 중 문제가 발생했습니다.
- 10. childNodes에 액세스하는 중 문제가 발생했습니다. []
- 11. svn에 연결하는 중 문제가 발생했습니다.
- 12. 장비 작동 중 문제가 발생했습니다.
- 13. C# DLL을로드하는 중 문제가 발생했습니다.
- 14. SQL 대량로드 중 문제가 발생했습니다.
- 15. 페이지로 리디렉션하는 중 문제가 발생했습니다.
- 16. virtualenv 설정 중 문제가 발생했습니다.
- 17. 로드 중 어셈블리 문제가 발생했습니다.
- 18. 데이터베이스 설계 중 문제가 발생했습니다.
- 19. exe를 재시작하는 중 문제가 발생했습니다.
- 20. TFS 보고서를로드하는 중 문제가 발생했습니다.
- 21. StackLayoutPanel 사용 중 문제가 발생했습니다.
- 22. textBox를 업데이트하는 중 문제가 발생했습니다.
- 23. RIA 인증 중 문제가 발생했습니다.
- 24. ViewPager 사용 중 문제가 발생했습니다.
- 25. 파일을 읽는 중 문제가 발생했습니다.
- 26. 페이지 반전 중 문제가 발생했습니다.
- 27. 아약스를 실행하는 중 문제가 발생했습니다.
- 28. VBScript 함수를 만드는 중 문제가 발생했습니다.
- 29. MyEclipse "더티 영역 처리 중"문제가 발생했습니다.
- 30. Java 응용 프로그램을 실행하는 중 문제가 발생했습니다.
내가 테이블 앞에서 모달보기를 팝업하고, 배열을 업데이트하고, reloadData를 호출 한 다음 모달보기를 제거한다면, 절대적으로 문제가 없다고 덧붙여 야합니다! 테이블 뷰가 표시 될 때 왜이 동작을 얻을 수 없습니까? –