2011-08-11 52 views
0

這似乎是一個經典的問題,但我找不到任何線程與工作解決方案。UITableView lazyload - reloadData不工作

我有一個UITableView,我想用我的服務器加載的一些XML「lazyload」。

我的UITableView在.H正確聲明...

IBOutlet UITableView *tblView; 

... 

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

...連接在界面生成器和合成在.M:

@synthesize tblView; 

現在...當視圖控制器加載,UITableView委託(numberOfSectionsInTableView,numberOfRowsInSection)被調用一次。但是,我沒有任何數據在這一點上,以便一旦我的數據從服務器加載和分析,我調用這些方法返回0

...

[tblView reloadData] 

...但它不沒有任何效果。代表根本沒有打電話。

我也試過

[[self tblView] reloadData] 

而且這也不行。

我甚至試圖發行通過performSelectorOnMainThread呼叫這樣

... 

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

... 

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

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

而且這也不行。

任何提示或解決方案?

在此先感謝

+0

你有沒有仔細檢查該委託設置? :) –

回答

0

好了... ...

我的視圖控制器從實際的UITableViewController繼承...

所以我沒有申報IBOutlet中,合成它或任何...

當它的時間來重新加載數據,我只是做:

[[self tableView] reloadData]; 

因爲tableView直接引用了控件本身。

現在numberOfSectionsInTableView和numberOfRowsInSection方法被調用正確