2011-08-11 10 views
0

これは古典的な問題だと思われますが、実際のソリューションではスレッドを見つけることができませんでした。UITableView lazyload - reloadDataが動作しない

私は私のサーバからロードされたXMLを使って "lazyload"したいUITableViewを持っています。

私のUITableViewが正しく

IBOutlet UITableView *tblView; 

... 

@property (nonatomic, retain) IBOutlet UITableView *tblView; 

... .hの中で宣言されています... Interface Builderで接続し、.Mで合成

@synthesize tblView; 

... UITableViewデリゲート(numberOfSectionsInTableView、numberOfRowsInSection)が一度呼び出されます。これらの方法は私のデータをサーバからロードされ、解析されたら、私は

[tblView reloadData] 

...呼び出し...しかし、それはdoesnの0

を返すように、しかし、私は、この時点ですべてのデータを持っていません何の効果もありません。デリゲートはまったく呼び出されません。

私も

[[self tblView] reloadData] 

を試してみましたが、それはどちらか動作しません。

は、私もこの

... 

[self performSelectorOnMainThread:@selector(fillTableWith:) withObject:arrAppointmentsFromServer waitUntilDone:NO]; 

... 

- (void)fillTableWith:(NSMutableArray *)arrAppointmentsFromServer 
{ 
    self.arrAppointments = arrAppointmentsFromServer; 

    //Calls a refresh of the tableview 
    [tblView reloadData]; 
} 

ようperformSelectorOnMainThreadを介してコールを発行しようとしましたが、これはどちらか動作しません。

ヒントや解決策はありますか?

[OK]を、それが...

私のビューコントローラは、実際のUITableViewControllerを継承してしまった事前

+0

呼び出されます、あなたは、デリゲートが設定されていることをダブルチェックしましたか? :) –

答えて

0

のおかげで...

そこで私はIBOutletを宣言する必要があり、それを合成するか、何でもありません...

それがデータをリロードする時間です

、私はちょうど行います

[[self tableView] reloadData]; 

tableViewはコントロール自体を直接参照するためです。

は今numberOfSectionsInTableViewとnumberOfRowsInSection方法が正しく

関連する問題