我知道當單元格隱藏時indexPath將返回nil,但我的問題是爲什麼它不可見?tableView:indexPathForCell在單元格中單擊時返回nil
我的情況是: 有一個在點擊按鈕時,電池的按鈕,並嘗試獲取indexPath(通過選擇indexPathForCell:)
同時,實現代碼如下被另一個線程刷新。
有時索引路徑會變爲零,我的問題是因爲按鈕在單元格中,當事件被觸發時,單元格必須存在(否則應如何點擊按鈕),導致單元格隱藏的內容?
thx。
//Cell.m
@property (nonatomic, weak) UIButton *button;
@property (nonatomic, weak) XXXDelegate *delegate;
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
UIButton * button = xxx;
[self.contentView addSubview:button];
[button addTarget:self action:@selector(xxxClick:) forControlEvents:UIControlEventTouchUpInside];
}
-(void)xxxClick:(id)sender{
[self.delegate xxxClick:self];
}
//Controller.m
-(void)loadView{
self.tableView = [[UITableView alloc] initWithFrame:self.view.bounds];
self.tableView.delegate = self;
[self.tableView registerClass:[Cell class] forCellReuseIdentifier:@"xxx"];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"xxx" forIndexPath:indexPath];
//update cell
cell.delegate = self;
return cell;
}
- (void)xxxClick:(UITableViewCell*) cell {
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
//indexPath is nil sometimes? why?
}
而且還可以,實現代碼如下重載有時
你的問題很混亂。你能提供更多的代碼嗎? – user6788419
爲什麼自己是細胞在這裏,你應該通過視圖控制器添加目標 – Aakash
添加一些示例代碼,thx – Henry