我必须上课: existUserView和existUserCustomCell。
existsUserView中的代码:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ExistUserCustomCell *cell = (ExistUserCustomCell*)[tableView dequeueReusableCellWithIdentifier:@"ExistUserCustomCell"];
KidManager *kid = [self.kidsArray objectAtIndex:indexPath.row];
cell.kidName.text = kid.firstName;
if([kid.inside isEqualToString:@"1"]){
cell.kidStatus. text = @"some string";
}else{
cell.kidStatus.text = @"some string";
}
return cell;
}
existsUserCustomCell中的代码:
- (IBAction)reportMissing:(id)sender {
}
- (IBAction)callTeacher:(id)sender {
}
我需要从' existUserView'传递数据。在&exists; existsUserCustomCell'中的按钮功能当我按下它们时要知道那一行。 我怎么能以最好的方式做到这一点?
答案 0 :(得分:2)
如果需要将数据从视图控制器传递到单元格,请将属性(或两个或三个)添加到单元类中。在cellForRowAtIndexPath
中设置单元格时设置属性。然后,单元格的方法(包括按钮处理程序)可以根据需要访问数据。
向您的单元格类添加属性:
@interface ExistUserCustomCell : UITableViewCell
// add this to anything you have
@property (nonatomic, strong) KindManager *kid;
@end
现在您的按钮方法可以访问:
- (IBAction)reportMissing:(id)sender {
// access self.kid to get data
// anything else you need
}
然后在表视图控制器中:
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ExistUserCustomCell *cell = (ExistUserCustomCell*)[tableView dequeueReusableCellWithIdentifier:@"ExistUserCustomCell"];
KidManager *kid = [self.kidsArray objectAtIndex:indexPath.row];
cell.kid = kid;
cell.kidName.text = kid.firstName;
if([kid.inside isEqualToString:@"1"]){
cell.kidStatus. text = @"some string";
}else{
cell.kidStatus.text = @"some string";
}
return cell;
}
我猜这是您在单元格中需要的KidManager
数据。根据需要进行调整。
BTW - 如果我的猜测是正确的,那么单元格应该使用数据设置自己,而不是使用cellForRowAtIndexPath
方法中的逻辑。