将对象添加到NSMutableArray,即使它已经过检查标记

时间:2015-06-28 12:07:48

标签: objective-c uitableview nsmutablearray nsarray

我尝试将cell.textlabel.text添加到NSMutableArray,即使它已经过检查标记。我使用以下代码执行此操作:

-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{

    UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];

    if (cell.accessoryType == UITableViewCellAccessoryCheckmark) {
        cell.accessoryType = UITableViewCellAccessoryNone;
    }
    else{
        cell.accessoryType = UITableViewCellAccessoryCheckmark;

        self.selectedDays = [[NSMutableArray alloc] init];
        [self.selectedDays addObject:cell.textLabel.text];

        NSLog(@"%@", self.selectedDays);

    }
}

但它不会添加,而是替换。

    2015-06-28 xx:xx:xx xxxx - xxxx[xxx:xxx] (
    Monday
    )
    2015-06-28 xx:xx:xx xxxx - xxxx[xxx:xxx] (
    Tuesday
    )
    2015-06-28 xx:xx:xx xxxx - xxxx[xxx:xxx] (
    Wednesday
    )

1 个答案:

答案 0 :(得分:0)

每次点击一个单元格,你都在做

self.selectedDays = [[NSMutableArray alloc] init];

扔掉旧数组并创建一个新数组。然后你添加一件事。

将该行代码移至viewDidLoad而不是只创建一次数组。

你应该真正使用你的数据模型,而不是从单元格中获取文本......