如何在iphone中将选定的行添加到NSMutableArray中

时间:2013-01-25 12:47:27

标签: iphone objective-c uitableview nsmutablearray

我正在尝试将选定的行添加到我的数组中。当我将第二个选定的行添加到myArray时,第一个对象替换为第二个,每次我只获取myArray中的一个对象。这是我的表didSelectAtIndexPath:方法代码:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    if (cell.accessoryType == UITableViewCellAccessoryNone)        
    {
        cell.accessoryType = UITableViewCellAccessoryCheckmark; 
        myArray = [[NSMutableArray alloc] init];
        [myArray addObject:[Array1 objectAtIndex:indexPath.row]];
        NSLog(@"myArray %@",myArray);   
    }
}
任何人都可以帮助我。提前致谢

2 个答案:

答案 0 :(得分:9)

问题是由这一行引起的:

myArray = [[NSMutableArray alloc] init];

每次用户单击一个单元格时,您都在分配此数组。

viewDidLoad

中分配

或在分配之前添加条件:

if(myArray == nil)
{
    myArray = [[NSMutableArray alloc] init];
}

答案 1 :(得分:0)

-(void)viewDidLoad
{
   self.myArray = [[NSMutableArray alloc] init];
   self.Array1 = [[NSMutableArray alloc] init];
}



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

    [self.myArray  addObject:[self.Array1 objectAtIndex:indexPath.row]];
}