2013-03-28 39 views
0

我試圖用視圖標籤,以確定當前正在顯示的內容來看,但是當我使用此代碼iOS的if語句中的tableView:numberOfRowsInSection:不工作

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
if (self.view.tag != 3){ 
    NSLog(@"view is not 3"); 
    return 10; 
    } 
else{ 
    NSLog(@"view is 3"); 
    return 20; 
    } 
} 

正確的行量不爲標籤3設置視圖,雖然它在我所有的其他視圖上都有效。例如,根據我對1標籤的看法,view is not 3將被記錄下來,但在我的視圖中,標籤爲3,沒有任何記錄。任何人都知道爲什麼這不是我想要的?

+1

什麼'NSLog(@「%d」,self.view.tag)'不得不說? –

+1

問題是我沒有正確設置我的委託和數據源。 –

+0

我唯一的猜測是,當你在view3中時,你的tableview委託(這個numberOfRowsInSection方法存在的viewcontroller)沒有被設置。 –

回答

0

問題是我自己不小心的錯誤,我沒有設置我的數據源和委託。

+0

這不是第一次發生。 SO社區要求您接受您的答案,以達到良好的效果。 – QED

+0

是的,我只是不明白爲什麼他們讓我等了兩天才接受它。 –

+0

ooooh我忘記了 – QED

0

self.view是ViewController的主要View。你可能需要做的是獲得對TableView的引用。

更改爲:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ 
if (tableView.tag != 3){ 
    NSLog(@"view is not 3"); 
    return 10; 
    } 
else{ 
    NSLog(@"view is 3"); 
    return 20; 
    } 
}