如何在我们自己的声明方法中获取单元格选择行?

时间:2015-08-28 09:44:31

标签: ios objective-c uitableview segue

我在drain中有按钮,如果用户选择按钮,则必须使用NextViewController [带有一些JSON值]。

UITableView

我可以轻松地从所选单元格中获取值

我在-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { orderid=[NSString stringWithFormat:@"%@",[[arrDictionary objectAtIndex:indexPath.row]objectForKey:@"orderid"]]; NSLog(@"orderid==%@",orderid); } 中有按钮,所以我需要点击按钮来自哪一行?

我尝试使用此代码,但它只显示UITableViewCell我已存储

orderid

5 个答案:

答案 0 :(得分:1)

如果您没有使用多项选择,那么您可以获得一行选择:

NSIndexPath *index = [tableview indexPathForSelectedRow];

如果你有多行选择,那么:

您将获得所选索引的所选NSIndexPath数组,如:

NSArray *selectedIndexPaths = [tableview indexPathsForSelectedRows];

您可以循环运行到selectedIndexPaths.count并获取选定的行数据。

文件:

// Selection

- (NSIndexPath *)indexPathForSelectedRow;
// returns nil or index path representing section and row of selection.
- (NSArray *)indexPathsForSelectedRows NS_AVAILABLE_IOS(5_0); 
// returns nil or a set of index paths representing the sections and rows of the selection.

答案 1 :(得分:0)

您可以选择单元格作为

UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[self.tableView indexPathForSelectedRow]]; 

和indexPath为[self.tableView indexPathForSelectedRow]

我觉得你接下来会发现一个声音

    [self perfromSegueWithIdentifier:@"Segue"];

答案 2 :(得分:0)

用于将json推送到NextViewController

-(void)YouButtonSelector:(UIButton *)sender{
NextViewController *rightController=[[NextViewController alloc] init];
rightController.eventIdIs=self.event_id;
rightController.PreviousJson=PresentJson;
rightController.hidesBottomBarWhenPushed=YES;
[self.navigationController pushViewController:rightController animated:YES];

}

按钮点击

 [cell.checkboxBtn setTag:indexPath.row];
 [cell.checkboxBtn addTarget:self action:@selector(nextview:) forControlEvents:UIControlEventTouchUpInside];

  -(void)nextview:(UIButton *)button
  {
  NSLog(@"Button select is :%d",button.tag);
  }

答案 3 :(得分:0)

1 - 您可以在cellForRowAtIndexPath方法

中提供按钮标记
button.tag = indexPath.row;

2 - 你收到了orderid

-(void)nextview:(UIButton *)button
{

NSString *orderid=[NSString stringWithFormat:@"%@",[[arrDictionary objectAtIndex:button.tag] objectForKey:@"orderid"]];

NSLog(@"orderid==%@",orderid);

}

答案 4 :(得分:0)

分配

cell.btn.tag = indexPath.row;

并按下按钮功能使用

从数组中获取数据
UIButton *btn = (UIButton *)sender;
NSString *str = arrDictionary[btn.tag];