檢查NSIndexPath
,爲什麼indexPath的第二個值不等於indexPath.row?爲什麼NSIndexPath的第二個值不等於indexPath.row?
觀察的NSIndexPath
一個實例在一個斷點,並且比較變量indexPath
,第二值是192在變量查看,而po indexPath.row
值在控制檯 11。
是什麼導致了這種差異?
檢查NSIndexPath
,爲什麼indexPath的第二個值不等於indexPath.row?爲什麼NSIndexPath的第二個值不等於indexPath.row?
觀察的NSIndexPath
一個實例在一個斷點,並且比較變量indexPath
,第二值是192在變量查看,而po indexPath.row
值在控制檯 11。
是什麼導致了這種差異?
在Swift中,您應該使用IndexPath
,它將橋接到Objective-C API到NSIndexPath
類。 (Apple Documentation)
Swift覆蓋到Foundation框架提供了IndexPath結構,該結構橋接到NSIndexPath類。 IndexPath值類型提供了與NSIndexPath引用類型相同的功能,並且兩者可以在與Objective-C API交互的Swift代碼中互換使用。這種行爲類似於Swift將標準字符串,數字和集合類型橋接到其相應的Foundation類。
雖然不是答案,但使用IndexPath
而不是NSIndexPath
不會導致誤導行爲。
let indexPath = IndexPath(row: 11, section: 0)
po indexPath.row
產生11
,一樣的變量查看(見下_indexes
結構):
交一些代碼或其他闡述清楚。 –
顯示圖片,修改拼寫錯誤 – SwiftArchitect