DaffodilGirl
2012-12-26 07:24
采纳率: 78.1%
浏览 6.6k
已采纳

点击自定义按钮时触发事件

创建了一个TableView,然后创建了自定义的单元,其中放了一个Button。现在我想要实现,点击索引的时候获取tableview的索引内容,但是点击了对应索引的按钮之后,没有给出索引列表。

我的tableview类名是SubMenuViewController,然后单元类名是SubMenuCell

SubMenuViewController代码如下:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
ModelLocator *model = [ModelLocator getInstance];
    static NSString *simpleTableIdentifier = @"SubMenuCell";

    SubMenuCell *cell = (SubMenuCell *)[tableView dequeueReusableCellWithIdentifier:simpleTableIdentifier];
    if (cell == nil)
    {
        NSArray *nib = [[NSBundle mainBundle] loadNibNamed:@"SubMenuCell" owner:self options:nil];
        cell = [nib objectAtIndex:0];
    }

    if (model.foodSubItemList) {
        FoodSubItemVO* foodSubItemTemp = [model.foodSubItemList objectAtIndex:indexPath.row];
        [cell.lbSubFoodItem setText: foodSubItemTemp.foodSubItemName];
        [cell.lbPrice setText: foodSubItemTemp.price];
        [cell setIndexPath:indexPath];
     }
return cell;
}

SubMenuCell代码:

- (IBAction)addItemIntoOrder:(id)sender {
        NSLog(@"@%",indexPath);
        NSLog(@"@%",indexPath.row);
}

在**SubMenuCell.h**文件中声明了indexPath

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • g989_1314125 2012-12-26 07:50
    已采纳

    你的NSLog有错误; 换成下面的代码,注意 % 和@ 顺序变了。

    - (IBAction)addItemIntoOrder:(id)sender 
    {
        NSLog(@"%@",indexPath);
        NSLog(@"%@",indexPath.row);
    }
    
    点赞 评论
  • ReyZhang 2012-12-26 08:34

    除了上面有人回答的将@%改成%@外呢,还有就是在输出NSInteger类型时需要的占位符是%d

    NSLog(@"%d",[indexPath row]);
    
    点赞 评论

相关推荐 更多相似问题