在我的cellForRowAtIndexPath和我預先選擇行:Objective-C的deselectRowAtIndexPath是有點兒工作
NSArray *tempArray = [[communityPrefs objectForKey:@"Community"] componentsSeparatedByString:@","];
NSMutableArray *tempArrayMutable = [[NSMutableArray alloc] initWithArray:tempArray];
if ([tempArrayMutable containsObject:cell.textLabel.text])
{
[selectedAreaTable selectRowAtIndexPath:indexPath animated:NO scrollPosition:UITableViewScrollPositionNone];
}
這部分的偉大工程。然而,選定的項目位於頁面的底部,用戶不會看到它,但是當它們向下滾動到該單元格時,它將被選中。
現在我試圖寫一段代碼的將取消像這樣所有選定單元:
for(NSIndexPath *index in selectedAreaTable.indexPathsForSelectedRows)
{
if(index.row != 0)
{
[selectedAreaTable deselectRowAtIndexPath:index animated:NO];
}
}
但在我運行此代碼仍然選擇在底部的細胞。所以我的問題是,爲什麼這個單元格不被取消選擇?是否因爲它不存在,直到你滾動到它?我該如何解決這個問題?
您怎麼測試?什麼是索引路徑,當它不工作? 'indexPathsForSelectedRows'中有多少條索引路徑? – Wain