行的數量我想在一個NSIndexPath部分的行數。對於我在這裏搜索蘋果的文檔&我找不到如何得到這個值。它的任何線索?如何獲得在NSIndexPath部分
我的具體目的是用它來確定所選行是否是該段最後一行,所以如果任何人有確定通過另一種手段,這將是良好的建議。
行的數量我想在一個NSIndexPath部分的行數。對於我在這裏搜索蘋果的文檔&我找不到如何得到這個值。它的任何線索?如何獲得在NSIndexPath部分
我的具體目的是用它來確定所選行是否是該段最後一行,所以如果任何人有確定通過另一種手段,這將是良好的建議。
這裏是我如何做到這一點在我的情況:
錶款保持存儲在NSArray
對象的列表,因此行的部分是數組中的對象的量量。在你的情況 - 如果行不是從數組對象 - 只是做檢查
if ([indexPath row] + 1 == [_objectsArray count]) {
...
但是,如果在表中的項目沒有一個集合中舉行,您可以輕鬆地只是通過調用相應的檢索部分的行數在tableView
對象方法在didSelectRow..
委託方法:
NSInteger numberOfRows = [tableView numberOfRowsInSection:[indexPath section]];
的唯一方法是問表的數據源:
NSUInteger rowCount = [tableView.dataSource tableView:tableView numberOfRowsInSection:indexPath.section];
假。這不是唯一的方法。 UITableView持有'dataSource'的高速緩存值的適當方法。 – Eimantas
@Eimantas:當然有無數種方法來檢索結果。我的意思是,沒有辦法從索引路徑中獲得它。也許我沒有足夠清楚。 –
我會提供「canonical」一詞來代替「only」。別的是要麼作爲@Eimantas所暗示的,這一高速緩存器,或在其周圍的醜陋的黑客攻擊,其太密地耦合到所述數據模型。 –
你可以調用UITableViewDataSource
的tableView:numberOfRowsInSection:
方法,將部分號碼。然而,這是你自己的代碼產生基於什麼是模型中的這個數字,所以它可能是有意義的看看tableView:numberOfRowsInSection:
在數據源的實現,看看是否可以通過備用路徑得到相同的答案。
謝謝,在這種情況下IndexPath是一個TableView的這將工作。 – Pedro
@Pedro你沒有了'IndexPath'傳遞給'的tableView:numberOfRowsInSection:',只有部分數量。您可以查看有多少部分有通過調用'numberOfSectionsInTableView:',但同樣的答案是通過在'UITableViewDataSource'自己的代碼產生的,所以你可能想看看那裏。 – dasblinkenlight
是的,我通過[indexPath節]傳遞節號。 – Pedro
如果你在一個UITableView談論,你可以問它的數據源,這是有點可能是你自己:-)
[self.tableView.dataSource tableView: self.tableView numberOfRowsInSection: indexPath.section];
// or, if you are the dataSource...
[self tableView: self.tableView numberOfRowsInSection: indexPath.section];
我同意一切都在文檔中,但有時他們可能是一個噩夢找到;) – Pedro
@Pedro掛在那裏。一旦你學習了方言和結構,它們就很容易導航(如果你知道命名約定,那麼可以高度搜索):-) –
在如此迅速的答案數量驚喜。感謝所有:) – Pedro