検索

ホームページ  >  に質問  >  本文

objective-c - OC二维数组替换元素的问题?

求教个新手问题

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的时候 老是报错 这个咋整

大家讲道理大家讲道理2757日前867

全員に返信(2)返信します

  • 迷茫

    迷茫2017-05-02 09:32:09

    @[] 只能生成不可变的数组,即 NSArray,而 replaceObjectAtIndexNSMutableArray 才有的方法。
    在你的 @[...]后面调用下 mutableCopy 以上です。

    リーリー

    返事
    0
  • 高洛峰

    高洛峰2017-05-02 09:32:09

    NSArray を NSMutableArray にポイントします。_dataArray が NSMutableArray の場合は、最初にスペースを空ける必要があります。 NSArray として宣言してから変換することしかできません

    リーリー

    2016-09-17 21:53:55.159 Test[3124:369229] aaaaa
    2016-09-17 21:53:55.160 Test[3124:369229] 要素コンテンツを置き換えました
    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
    プログラムは終了コード: 0 で終了しました。

    返事
    0
  • キャンセル返事