问题描述
- 点击自定义按钮时触发事件
-
创建了一个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
解决方案
你的NSLog有错误; 换成下面的代码,注意 % 和@ 顺序变了。
- (IBAction)addItemIntoOrder:(id)sender
{
NSLog(@"%@",indexPath);
NSLog(@"%@",indexPath.row);
}
解决方案二:
除了上面有人回答的将@%改成%@外呢,还有就是在输出NSInteger类型时需要的占位符是%d
NSLog(@"%d",[indexPath row]);
时间: 2024-10-02 00:32:03