我为tableView设置了一个TableViewCell类。我在单元格中删除了一个按钮并将其连接到TableViewCell.h。我希望按下该按钮的操作,以执行特定于行中显示的对象的操作。例如,按下它时应该保存对象属性“name”,它不会显示在任何标签中。
在我的TableViewCell.h中,我设置了按钮操作和委托:
- (IBAction)pressBtn:(id)sender {
[self.delegate tableViewCell:self];
}
在我的TableViewController.m中,我包含一个委托:
-(void)tableViewCell:(tableViewCell *)cell {
//...some code...//
NSIndexPath *indexPath;
Car *car = self.cars[indexPath.row];
[newCar setValue:car.name forKey:@"name"];
问题是我返回第一个单元格中的任何内容,即使我单击第2个,第3个或第4个单元格。 self.cars是一个数组。 如何指向所选单元格的对象(及其属性)?
答案 0 :(得分:0)
为您为button tag
创建的每个按钮设置UITableViewCell
。
我要做的是将UIButton
标记设置为indexpath.row
值。
答案 1 :(得分:0)
给按钮一个像Sreejith提到的标签。准备好标签后,您可以通过标签获取单元格
- (IBAction)pressBtn:(id)sender {
int btnTag=[sender tag];
UITableViewCell *cell = [tableView cellForRowAtIndexPath:btnTag];
//and perform operations on that cell.
}
答案 2 :(得分:0)
在tableViewController中,使用像[tableView indexPathForCell:cell]
这样的代码来获取indexPath,你想要的是行。
答案 3 :(得分:0)
如果Car
实例的选择不完全依赖于视图控制器,请尝试使用
在TableviewCell.h
中添加@property for Car
@property (nonatomic, strong) Car *car;
和viewController中的cellForRowAtIndexPath:
方法
Car *car = self.cars[indexPath.row];
cell.car = car;
因此当前单元格的汽车实例将位于该自定义单元格类中。这样你就可以对该对象进行任何操作。即
- (IBAction)pressBtn:(id)sender {
//you can directly call self.car to get current car instance
//and do the stuff here itself
}