我已經寫出所有的代碼將一個NSMutableArray分成UITableView的部分。但是在cellForRowAtIndexPath中,我發現indexPath.row只返回當前部分的行。有什麼方法可以簡單地提供整個UITableView的行數。如果有人需要查看代碼,我會附加它,但我不認爲這是非常有用的回答這個問題,除非我必須使用另一種算法來查找cellForRow。UITableView問題與部分
2
A
回答
2
是的,在indexPath的行屬性是在部分的行,所以需要存儲數組的數組(對每個部分的陣列)。喜歡的東西:
// an array of arrays, one for each section
NSArray * _sectionDataArray;
當你建立你的索引創建的每個部分的陣列,並將其存儲在_sectionDataArray。要做到這一點,你需要建立一個NSMutableDictionary對象,由你的部分標題鍵入,包含一個數組CellThing(包含你的單元格數據的對象)。一旦你有一本字典,你可以抓住每個字母的數組,並將其粘貼到_sectionDataArray中。
在你的cellForRowAtIndexPath方法,您可以通過獲取部分陣列這樣的訪問單元格數據:
NSArray * sectionArray = [_sectionDataArray objectAtIndex:indexPath.section];
一旦你的部分陣列可以訪問單個單元格數據你之後使用在行在indexPath:
CellThing * cellObject = [sectionArray objectAtIndex:indexPath.row];
0
很明顯嘛,你有深深地知道的一些方法g假定每個部分有多少行 - 你在tableview:rowsInSection:方法中提供它。
爲了論證我假設有一個在每個部分行的固定數量的緣故,所以數組索引將indexPath.section * kNumOfRowsInSection + indexPath.row
1
如果你真的要轉換的指數路徑到絕對行號,你可以這樣做:
// Start with row offset
int absoluteRow = indexPath.row;
// Add count of rows from all earlier sections
int s;
for (s = 0; s < indexPath.section; s++) {
absoluteRow += [tableView numberOfRowsInSection:s];
}
但它可能更好地組織您的數據以匹配您的表結構。
相關問題
- 1. UITableView與部分問題?
- 2. UITableview部分問題
- 3. UITableView上的UISearchBarDelegate與部分問題
- 4. UITableView與部分
- 5. UITableView部分標題字體問題
- 6. 在UITableView部分標題的問題
- 7. 問題與UITableView
- 8. UITableView部分與UITextFields
- 9. UITableView分行問題
- 10. UITableView問題與NSIndexPath
- 11. UITableView與cellForRowAtIndexPath問題
- 12. 與UITableview UIScrollView問題
- 13. UITableView部分問題與不同的單元格顏色
- 14. 問題與UITableView cellForRowAtIndexPath與NSManagedObjects
- 15. UITableView部分標題滾動
- 16. 與管理部分問題
- 17. iPhone UITableView與多個部分
- 18. UITableView分隔符問題
- 19. 分組的UITableView與多個部分在iPhone SDK中創建問題
- 20. 顯示問題與UITableView
- 21. 性能問題創建部分索引UITableView的標題
- 22. UITableView自定義部分標題,重複問題
- 23. UITableView分組部分
- 24. iPhone UITableView部分
- 25. UITableView的部分
- 26. 使用uitableview部分出現問題 - 單元格在每個部分都重複
- 27. UITableView部分的動態標題
- 28. UITableView自定義部分標題消失
- 29. UITableView部分標題不顯示
- 30. UITableView的交互式部分標題
不要在成員變量名稱前加下劃線。蘋果保留這些名字的權利! – benzado
@benzado謝謝本,我沒有意識到這一點。 – RedBlueThing