2011-11-16 35 views
0

所以我以前使用過很多次的UITableView,但我收到了一些不尋常的行爲,我試圖縮小範圍。在UIPopoverController中,我介紹了這個UITableView。該應用程序是爲iPad。 UIViewController的.xib是一個iPhone。顧問是這麼做的。我不確定他們是否做到了這一點,因爲它與傳統的iPad尺寸的.xib相比要小一些。didSelectRowAtIndexPath選擇不同的行時

我的viewcontroller子類從.h文件實現UITableViewDelegate和UITableViewDataSource。

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

我檢查的.xib和UITableView中的文件的所有者是我sublcass,數據源和委託也連接在IB。

- (void)tableView:(UITableView *)tableView didDeselectRowAtIndexPath:(NSIndexPath *)indexPath { 

    if (tableView == _targetTableView) { 
     NSUInteger row = [indexPath row]; 
     NSLog(@"row: %i", row); 
    } 

我第一次看到,當我在tableView中選擇第一行時,沒有任何記錄到控制檯。突出顯示的是第一行。然後,當我選擇下一行時,我將「row:0」記錄到控制檯。它似乎只在我選擇下一行後纔會記錄。我不知道這是否是以前見過的事情,我錯過了一些愚蠢的事情,因爲我已經在無問題之前創建了其他UITableViews。謝謝。

+0

如果刪除'if'語句會發生什麼? –

回答

2

您已執行didDeselectRowAtIndexPath而不是didSelectRowAtIndexPath

+0

謝謝你看到我的大腦放屁! – Crystal

0

您應該檢查並記錄indexPath.section以及排。

相關問題