0

我现在有一个应用程序,它有一个表格视图,其中包含从数组加载的多个单元格。我在文本视图中分隔文本以将文本分成组件,然后将这些组件添加到数组中。从那里我将每个单元格的文本标签设置为数组中的每个组件。所以我有一些看起来像这样的东西......

在此处输入图像描述

我希望能够选择一个单元格并突出显示该单元格,然后我希望能够单击右侧的按钮之一。当我单击一个按钮时,它会获取该单元格的文本标签并将其作为组件存储在一个数组中。

我不知道如何编写“获取所选单元格的文本标签并将其存储为组件”的代码。有没有办法检测单元格是否被选中?

4

2 回答 2

1

您需要使用 aNSMutableArray来实现此目的,因为您可以动态添加和删除对象:

- (void)viewDidLoad
{
    [super viewDidLoad];
    myMutableArray = [[NSMutableArray alloc] init];
}

- (void)myButtonClicked
{
    NSMutableArray *myMutableArray;
    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:[self.tableView indexPathForSelectedRow]];
    if ([myMutableArray containsObject:cell.textLabel.text]) {
        [myMutableArray removeObject:cell.textLabel.text];
    }else{
        [myMutableArray addObject:cell.textLabel.text];
    }
}
于 2012-09-06T04:14:38.903 回答
1

一种更好的方法是从为表格视图提供数据的数组中获取文本并将其放入另一个数组中。我会打电话给他们sourceArraydestinationArray

- (IBAction)buttonAction:(id)sender {
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    NSString *string = [self.sourceArray objectAtIndex:indexPath.row];
    [self.destinationArray addObject:string];
}

我怀疑该indexPathForSelectedRow方法是您正在寻找的方法。如果您仍然需要使用标签文本,请修改处理程序,如下所示:

- (IBAction)buttonAction:(id)sender {
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow];
    UITableViewCell *selectedCell = [self.tableView cellForRowAtIndexPath:indexPath];
    NSString *string = selectedCell.textLabel.text;
    [self.destinationArray addObject:string];
}

希望这可以帮助!

于 2012-09-06T04:14:38.863 回答