0

選択した行を配列に追加しようとしています.2番目に選択した行をmyArrayに追加すると、最初のオブジェクトが2番目に置き換えられ、myArrayでオブジェクトを1つだけ取得するたびに次のようになります。テーブル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);   
    }
}

誰でも私を助けることができます。前もって感謝します

4

2 に答える 2

8

この問題の原因は次のとおりです。

myArray = [[NSMutableArray alloc] init];

ユーザーがセルをクリックするたびに、この配列を割り当てます。

に割り当てますviewDidLoad

または次のように割り当てる前に条件を追加します。

if(myArray == nil)
{
    myArray = [[NSMutableArray alloc] init];
}
于 2013-01-25T12:49:27.153 に答える
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]];
}
于 2013-01-25T12:52:12.137 に答える