【问题标题】:how to add selected rows into NSMutableArray in iphone如何将选定的行添加到 iPhone 中的 NSMutableArray
【发布时间】:2013-01-25 12:47:27
【问题描述】:

我正在尝试将选定的行添加到我的数组中。当我将第二个选定的行添加到 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);   
    }
}

谁能帮帮我。提前致谢

【问题讨论】:

    标签: iphone objective-c uitableview nsmutablearray


    【解决方案1】:

    问题是由这一行引起的:

    myArray = [[NSMutableArray alloc] init];
    

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

    在您的viewDidLoad 中分配它。

    或在分配前添加一个条件,如:

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

    【讨论】:

    • 完美 :) 这就是问题
    • @newDev: 很高兴 :) 感谢您的评论 :)
    • @AKV:谢谢老兄,谢谢你的评论 :)
    • @Rushi:谢谢老兄,谢谢你的评论:)
    【解决方案2】:
    -(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]];
    }
    

    【讨论】:

    • 这为现有答案增加了哪些新内容?
    猜你喜欢
    • 1970-01-01
    • 2011-09-02
    • 2012-10-02
    • 2011-12-13
    • 2011-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多