ios – 以编程方式选择表格视图单元格:selectRowAtIndexPath vs setSelected

我经常需要将表视图单元格设置为初始选择状态,我使用以下代码
[self.tableView selectRowAtIndexPath:indexPath 
   animated:NO scrollPosition:UITableViewScrollPositionNone];
UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
[cell setSelected:YES];
cell.accessoryType = UITableViewCellAccessorycheckmark;

我同时使用selectRowAtIndexPath:indexPath和setSelected:YES,因为我不完全理解这两种方式中哪一种是以编程方式选择单元格的首选方法.

我应该使用哪一个陈述?为什么?

解决方法

我相信你想要使用的方法是selectRowAtIndexPath:animated:scrollPosition:.通常,您应该将单元状态管理保留在表视图中.在选择的情况下,它存储并维护一组选定的索引路径,因此在为其重用不同的单元后,将保持选择正确的行.也没有必要调用这两种方法,它只是多余的.

相关文章

UITabBarController 是 iOS 中用于管理和显示选项卡界面的一...
UITableView的重用机制避免了频繁创建和销毁单元格的开销,使...
Objective-C中,类的实例变量(instance variables)和属性(...
从内存管理的角度来看,block可以作为方法的传入参数是因为b...
WKWebView 是 iOS 开发中用于显示网页内容的组件,它是在 iO...
OC中常用的多线程编程技术: 1. NSThread NSThread是Objecti...