Objective c 单击按钮时将选定单元格文本标签添加到数组

Objective c 单击按钮时将选定单元格文本标签添加到数组,objective-c,ios,xcode,Objective C,Ios,Xcode,我现在有一个应用程序,它有一个表视图,其中包含从数组加载的多个单元格。我在文本视图中对文本进行了分隔,以将文本分隔为组件,然后将这些组件添加到数组中。从那里,我将每个单元格的文本标签设置为数组中的每个组件。所以我有一些看起来像这样的东西 我希望能够选择一个单元格,它高亮显示该单元格,然后我希望能够单击右侧的一个按钮。当我单击一个按钮时,它会获取该单元格的文本标签,并将其作为一个组件存储在一个数组中 我不知道如何编写“获取所选单元格的文本标签并将其存储为组件”的代码。是否有方法检测单元格是否被选

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

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


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

您需要使用
NSMutableArray
来实现这一点,因为您可以动态添加和删除对象:

- (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];
    }
}

更好的方法是从向表视图提供数据的数组中提取文本,并将其放入另一个数组中。我将它们称为
sourceArray
destinationArray

- (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];
}

希望这有帮助

谢谢,这正是我需要的!!!如果我点击添加已经添加的内容,是否有办法将其删除。所以,如果我不想添加那个特定的单元格,我只要再按一下按钮,它就会取出那个组件?@Craig随时都可以!很乐意帮忙!