2012-01-31 127 views
0

有時候reloadData方法UITableView不能正常工作,即意味着當我像[tableView reloadData]那樣寫時,它有時會調用數據源方法,有時候不會。UITableview重新加載問題iOS

什麼可能是問題是,任何人都可以請給我答案。

這裏是我的代碼:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    // Return YES for supported orientations. 
    if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){  
    [self performSelector:@selector(changeSegmentControllerFrame) withObject:nil afterDelay:0.0001];   
    [m_kwikiTable reloadData];  
    return YES;  } 
    else   
    return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 
+0

發佈您的代碼將有助於瞭解您的問題和代碼... – 2012-01-31 07:05:35

+1

請張貼一些代碼... – 2012-01-31 07:05:56

+0

這裏我的問題是當我導航到一個視圖,回到第一個視圖比我的tableview委託方法被調用,但數據源方法不叫 – user1179681 2012-01-31 07:44:34

回答

0

嘗試把一個斷點

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

方法......因爲如果這樣返回零,那麼它不會打擾執行下一個方法即

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
+0

嘗試通過放置斷點「numberofrowsInSection」方法調用,但 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath :(NSIndexPath *)indexPath沒有調用,沒有得到什麼問題。 – user1179681 2012-01-31 07:28:08

+0

當numberofrowsInSection被調用時,返回的行數是否大於0? – Prathiba 2012-01-31 08:43:01

+0

「這裏我的問題是當我導航到一個視圖,並返回到第一個視圖比我的tableview委託方法被調用,但數據源方法沒有調用」 - 所以,在viewWillAppear的第一個視圖,設置委託和數據源的tableview ,如果它有效,那麼你在某個地方取消了數據源。 – Prathiba 2012-01-31 08:48:14

0

請添加代碼。任何方式檢查這些東西在您的代碼。

  1. ,則應該設置cell.accessoryView了,如果(細胞==無){} 2.In - (空)的tableView:(UITableView的*)的tableView didSelectRowAtIndexPath方法:(NSIndexPath *)indexPath可以使用的tableView和不使用tableViewDistance(可能是零?) 3.In - (void)viewDidLoad你應該先調用[super viewDidLoad];然後進行自定義。

通過這個鏈接,這將幫助你調試:在委託

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 

tableView reloadData not working: cellForRowAtIndexPath not called

0

看跌的NSLog返回行計數,以檢查其是否重新調整0之前或任何其他值