2012-02-24 8 views
0

내 NSTableView를 다시로드하는 데 문제가 있습니다. 일반적인 reloadData 메서드가 작동하지 않습니다.nstableview reload not working

[_tableView reloadData]; 

NSTableView는 응용 프로그램이 시작될 때 올바르게 채 웁니다. tableview는 데이터 소스와 델리게이트가 AppDelegate로 설정되어 있으며 tableView의 참조 콘센트는 AppDelegate로 설정되어 있습니다.

저는이 문제에 상당히 익숙합니다. 문제 해결 방법을 모르겠습니다. 주위를 둘러 보니, IB에서의 나의 연결이 올바르지 않을 수도 있지만, 나는 많은 다른 조합을 시도했지만 reloadData 기능을 실행할 수있는 것은 아무것도 없습니다. 내가 알고있는 다른 함수에 reloadData 메소드를 추가하려고 시도했지만, reloadData를 실행하고 아무 것도하지 않는 것처럼 보인다. 에러 나 경고가 없다.

도움이 필요하시면 - 솔루션 대신 실제로 문제를 해결하는 방법에 대한 정보를 원합니다. 무료 코드는 여기에 없습니다. :)

+0

reloadData로 기대되는 것은 무엇입니까? 테이블에 새 객체를 추가 할 때이 객체를 사용하고 있습니까? –

+0

reloadData가 테이블보기에있는 데이터를 다시로드 할 것으로 예상됩니다. 로드 할 때 테이블을 채우는 FMDB와 SQLite 저장소를 사용하고 있습니다. 예, [_tableView reloadData]를 호출합니다. 테이블에 항목을 추가 한 직후 응용 프로그램을 종료하고 다시 시작하면 tableview에 새 entrie가 생깁니다. – rick

답변

1

내 배열이 내 클래스의 init 메소드에서 생성되고 있습니다. numberOfRowsInTableView 메서드에서 생성되어야합니다. reloadTable이 호출되고 작동하고 배열이 변경되었지만 배열 변수가 실제로 다시 생성되지 않았습니다.

1

몇 가지 시도 :

  • 이 데이터 소스가 호출되고 있는지 확인합니다. -있는 tableView : - numberOfRowsInTableView

    : 바람직하게는 같은 장소에서, 데이터 소스에 브레이크 포인트를 넣어 objectValueForTableColumn : 행 :

이러한 기능이 호출되고 있는지 확인합니다.

  • 는 _tableView의은 dataSource가 -reloadData 호출에 중단 점을 가하고, 그리고는 dataSource가 제대로 설정되어 있는지 확인하여 데이터를 제공하는 클래스로 설정되어 있는지 확인합니다.

    포 [_tableView은 dataSource]

  • 하는 데이터 소스의 -numberOfRowsInTableView 있는지 확인하십시오 : 방법은 뭔가가 있다는 것을 보장합니다 1.이보다 큰 수를 반환 당신은 디버거에서 다음을 실행하여이 작업을 수행 할 수 당신이 볼 테이블에!

+0

제안 해 주셔서 감사합니다. "numberOfRowsInTableView :"및 "tableView : objectValueForTableColumn : row :"NSLog 문을 사용하여 정상적으로 호출되는 것을 확인했습니다 (다른 좋은 방법은?) numberOfRowsInTableView의 중단 점은 0보다 큰 행 수를 보여줍니다. 그리고 po [_tableView dataSource]는 NSMutableArray가 생성 한 클래스 (이 코드가 실행되는 AppDelegate : "")에 대한 포인터 (?)라고 가정합니다. 나는 그것이 의미가 있기를 바랍니다. – rick

+0

물론, 실제로는 -numberOfRowsInTableView가 호출되도록하는 것이 었습니다. 최소한 당신을 위해 일하는 것 같습니다. – leecbaker