上下文:我有一个带有自定义单元格的表格视图。每个单元格都有一个下载资源的按钮。按下按钮时,应禁用 tableview 中的所有其他按钮。
所以我的问题是我无法引用 tableview 上的所有行,因为它是延迟加载。因此,当我尝试访问其他行时,它会失败,因为在我开始禁用按钮时它没有要添加的对象。
以下是可能对我的问题更有启发性的代码:
NSMutableArray *cells = [NSMutableArray array];
for (NSInteger i = 0; i < [mainTableView numberOfRowsInSection:1]; ++i) {
WSVideoLibraryTableCell *addedCell = (WSVideoLibraryTableCell *)[mainTableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:i inSection:1]];
NSLog(@"CELL ADDED: %@", addedCell);
[cells addObject:addedCell];
}
if (stateEnabled) {
for (WSVideoLibraryTableCell *cell in cells) {
[[cell downloadButton] setEnabled:YES];
}
}
else
{
for (WSVideoLibraryTableCell *cell in cells) {
[[cell downloadButton] setEnabled:NO];
}
}
我尝试添加一些只需要可见单元格的代码。NSArray *array = [mainTableView visibleCells]
但是问题是不可见的单元格将启用按钮,并且可见的行会发生一些奇怪的事情,它们会一次又一次地出现在 tableView 上(与延迟加载和更改它们有关吗?)
非常感谢您的意见或建议!!