2 daffodilgirl DaffodilGirl 于 2012.12.26 15:24 提问

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

创建了一个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
g989_1314125   2012.12.26 15:50
已采纳

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

- (IBAction)addItemIntoOrder:(id)sender 
{
    NSLog(@"%@",indexPath);
    NSLog(@"%@",indexPath.row);
}
DaffodilGirl
DaffodilGirl 谢谢
5 年多之前 回复
zhanglei5415
zhanglei5415   Rxr 2012.12.26 16:34

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

NSLog(@"%d",[indexPath row]);
DaffodilGirl
DaffodilGirl oo也谢谢你哦
5 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!