Objective c 在不使用委托的情况下添加accessorytype

Objective c 在不使用委托的情况下添加accessorytype,objective-c,uitableview,Objective C,Uitableview,是否有方法添加cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton; 在不使用委托tableView函数的情况下复制到表中的每一行?(原因有点复杂…) 我在想这样的事情 for(UITableViewCell *cell in TheTable){ cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton; } 但这行不通。。 有什么想法吗

是否有方法添加cell.accessoryType=UITableViewCellAccessoryDetailDisclosureButton; 在不使用委托tableView函数的情况下复制到表中的每一行?(原因有点复杂…)

我在想这样的事情

for(UITableViewCell *cell in TheTable){
cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
}
但这行不通。。 有什么想法吗


提前准备

您可以通过访问您定义的函数中的
UITableViewCell
来完成此操作

UITableView
中有许多函数,您可以使用这些函数访问委托函数之外的
UITableViewCell

- (NSArray *)visibleCells;
- (NSArray *)indexPathsForRowsInRect:(CGRect)rect;
- (NSArray *)indexPathsForVisibleRows;
要访问给定索引的单元格,请使用以下方法

- (UITableViewCell *)cellForRowAtIndexPath:(NSIndexPath *)indexPath

有关更多信息,请阅读apple文档。

您将永远无法从
UITableView
对象访问所有单元格。您可以访问所提到的@Jhaliya这样的可见单元格。当然,这里最好的方法是使用
BOOL
实例变量来跟踪单元格是否有详细信息披露按钮并翻转它们

BOOL是详细披露附件可见

表格视图中:cellForRowAtIndexPath:

if ( isDetailDisclosureAccessoryVisible ) {
    cell.accessoryType = UITableViewCellAccessoryDetailDisclosureButton;
} else {
    cell.accessoryType = UITableViewCellAccessoryNone;
}
当你想让它们可用时

isDetailDisclosureAccessoryVisible = YES;
[TheTable reloadRowsAtIndexPaths:[TheTable indexPathsForVisibleRows]
                WithRowAnimation:UITableViewRowAnimationNone]; //Choose an appropriate animation here. 

什么是表?是
tableView
还是数组?该表只是一个tableView您实现了数据源吗?是的,我实现了,表中充满了关于VM的信息行。