2011-12-30 52 views
0

哪個數字是NSArray中的第一個對象?我原本以爲是0,但我可能是錯的。訪問NSArray/UITableView中的第一個對象

另外哪個數字是UITableView中的第一個單元格?我認爲第一個indexpath.row是1,但我也可能是錯的?

有沒有任何人可以指點我的鏈接,蘋果解釋了這一點?

謝謝!

-(BOOL) textFieldShouldReturn:(UITextField *)thetextField { 

    CustomCell *cell = (CustomCell*)[thetextField superview]; 
    NSIndexPath *indexPath = [thetableView indexPathForCell:cell]; 
    NSLog(@"%i", indexPath.row); 

回答

2

索引0表示NSArray中的第一個元素。

對於UITableView,您在索引路徑中同時具有行號和段號。因此,第一部分的第一個元素是indexPath.row = 0indexPath.section = 0

+0

檢查我上面添加的代碼,我有一個UITableView加載了具有UITextField的自定義單元格,但是當我嘗試獲取文本字段的索引路徑時,如上面所示,它始終爲0!有任何想法嗎? – 2011-12-30 06:30:39

1

在任何數組中,第一個對象是index 0。在tableView的情況下,它基本上由一個數組填充,並且第一個對象,即indexPath.row == 0表示第一行。

所以兩者的答案= 0!

1

的第一對象應該是0作爲objc是一種C.

至於UITableView第一對象的,它取決於你的數據源。如果您的應用程序只有一個部分,則數據源通常是NSArray。則對應於數據源的第一個單元格有0指數(我們通常是通過 -[NSIndexPath row]獲得指標。

如果你有幾個部分,該數據源通常是NSArray一個NSArray,則對應於數據源的第一個單元格在第一NSArray的第一個對象的數據源

你應該閱讀UITableView編程指南

+0

檢查我上面添加的代碼,我有一個UITableView加載了自定義單元格,它有一個UITextField,但是當我嘗試獲取文本字段的索引路徑時,如上面所示,它始終爲0!有任何想法嗎? – 2011-12-30 06:26:27

1

你是假設你得到這樣的細胞:。

CustomCell *cell = (CustomCell*)[thetextField superview]; 

這個假設是否正確?

+0

是的,這就是我所假設的 – 2011-12-30 15:02:14

+0

它是正確的嗎? – Peres 2011-12-30 15:08:09

+0

我猜測沒有考慮到它不起作用:p – 2011-12-30 15:36:54