objective-c - OC二维数组替换元素的问题?
大家讲道理
大家讲道理 2017-05-02 09:30:09
0
2
829

求教个新手问题

NSMutableArray *_dataArray;
 _dataArray=@[
                 @[@"Image_f",@"aaaaaa"],
                 @[@"Image_h",@"bbbbbb"],
                 @[@"Image_r",@"cccccc"],
                 @[@"Image_s",@"dddddd"],
                 @[@"Image_r",@"eeeeee"]];

然后我想要替换 索引为 1的元素

NSArray *rpArr = [NSArray arrayWithObjects:@"ggggg_hhhh",@"替换的元素内容", nil];
    [_dataArray replaceObjectAtIndex:1 withObject:rpArr];

我用这种方式 替换(修改)元素1的时候 老是报错 这个咋整

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

répondre à tous(2)
迷茫

@[] ne peut générer que des tableaux immuables, c'est-à-dire NSArray, et replaceObjectAtIndex est une méthode uniquement disponible pour NSMutableArray.
Appelez simplement @[...] après votre mutableCopy.

NSMutableArray *_dataArray = @[...].mutableCopy;
[_dataArray replaceObjectAtIndex:1 withObject:@[...]];
小葫芦

Point de connaissance Convertir NSArray en NSMutableArray Si votre _dataArray est NSMutableArray, vous devez d'abord ouvrir de l'espace. Vous pouvez uniquement le déclarer comme NSArray puis le convertir en

 NSArray* _dataInitArray = @[
                       @[@"Image_f",@"aaaaa"],
                       @[@"Image_h",@"bbbbbb"],
                       @[@"Image_r",@"cccccc"],
                       @[@"Image_s",@"dddddd"],
                       @[@"Image_r",@"eeeeee"]
                       ];
        
        NSMutableArray * _dataArray = [_dataInitArray mutableCopy];
        
        
        NSArray *rpArr = [NSArray arrayWithObjects:@"ggggg_hhhh",@"替换的元素内容", nil];
        [_dataArray replaceObjectAtIndex:1 withObject:rpArr];
        for(int i = 0 ; i < 5; i++){
            NSLog(@"%@",_dataArray[i][1]);
        }
        

2016-09-17 21:53:55.159 Test[3124:369229] aaaaa
2016-09-17 21:53:55.160 Test[3124:369229] Contenu de l'élément remplacé
2016-09-17 21:53:55.160 Test[3124:369229] cccccc
2016-09-17 21:53:55.160 Test[3124:369229] dddddd
2016-09-17 21:53:55.160 Test[3124:369229 ]eeeeee
Programme terminé avec le code de sortie : 0

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!