2011-05-23 73 views
28

NSIndexPath的工作究竟是什麼, 我的理解是,IndexPath變量用於引用我們想要顯示的單元格?:o? 但它存儲什麼價值?我的意思是, 設置索引變量變量的內部過程是什麼什麼是NSIndexPath

+3

看來你似乎在問三個不同的問題。 – 2011-05-23 17:40:45

+1

我對IndexPath感到困惑,任何信息都會幫助! – 2011-05-23 17:43:37

回答

41

它用作引用數組中數組的向量。例如,您可以使用IndexPath來表示數組[a] [b] [c]的路徑。它在內部用於iPhone列表視圖,例如允許您選擇一個國家的列表視圖,然後爲您提供區域選項,然後是該區域中的城市列表。您選擇的城市的索引路徑將包括通過該國家和地區的路徑。

專門針對UITableViews,NSIndexPath扮演稍微擴展的角色。 UIKit將行和節屬性添加到NSIndexPath的實例以及類方法+ indexPathForRow:inSection :.

因此,如果要選擇或刪除表中的特定行,則需要將NSIndexPath的實例傳遞給該表。要創建它,您可以使用indexPathForRow:inSection創建一個NSIndexPath實例。

如果您有一個現有的NSIndexPath,您想要獲取有關它的信息並且它來自表視圖,那麼使用它的行和部分屬性來獲取數據。

如果遇到表視圖之外的索引路徑,請注意其使用細節。總之,它是對數組數組中特定元素的引用。

+0

感謝您的回覆! 這就是我正在尋找 – 2011-05-23 17:52:45

1

我不是100%確定你在問什麼,但有更多的信息here

+1

我想知道的是爲什麼我們在UITableView中使用IndexPath – 2011-05-23 17:48:21

13

在iOS中,NSIndexPath對象總是長度爲2.它們用於索引表格視圖單元格。 NSIndexPath對象中的第一個索引稱爲部分,第二個索引是。具有節0和節0的索引路徑對象指示第一節中的第一行。 這就是你在iOS上處理索引路徑時需要知道的全部內容。

+0

請參閱以下鏈接:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSIndexPath_Class/Reference/Reference.html 。 >> 他們提到索引路徑爲1.4.3.2,所以根據你的解釋,我們是否選擇了子節?像第1部分,第4部分,第3部分,然後是第2行? – 2011-05-23 18:03:58

+4

我假設我在這個答案的基礎上得到了一個downvote。除非我錯了,這是不正確的。該部分和行適用於許多情況,尤其是當您將表視圖分解爲多個部分時。然而,實際的事實仍然是真實的,即它們表示通往特定節點的路徑 - 如果它只是節(第一節點)和索引(第二節點)。此外,Apple文檔在這裏非常明確,包括此iOS特定文檔的第8頁:http://developer.apple.com/library/ios/DOCUMENTATION/Cocoa/Reference/Foundation/Classes/NSIndexPath_Class/NSIndexPath_Class.pdf – 2011-05-23 18:05:51

+1

再擴展一點。 UIKit將行和節屬性添加到NSIndexPath的實例以及類方法'+ indexPathForRow:inSection:'中。所以如果你堅持使用這兩個屬性和這個初始化器,那麼NSIndexPath其餘部分的細節不應該太重要。對不起所有令人困惑的細節! – 2011-05-23 18:12:01

6

蘋果的類參考文檔僅適用於將心智模型實例化爲認知過程的人。當有人提出諸如原始帖子這樣的問題時,即使他們無法完全闡明他們的困惑,這個類參考文獻也是有史以來最出色的非信息。我也在努力弄清楚---用另一個SO答案的話來填充「//計算一些索引路徑」(只知道單元的整數偏移量......我想選擇我的第n個項目),並且正在尋找與原始文章相同級別的概念性概述,所以我想我會解釋一下這個困境。