1

NSMutableArray には、次のようなデータがあります。

    MutableArray1:(
           "22.298166 , 73.165809",
           "22.300598 , 73.167183",
           "22.298101 , 73.166188",
           "22.298128 , 73.166194"
           "22.298130 , 73.166194"
          )

MutableArray1 から MutableArray2 に最後の 3 つのデータをコピーしたいと考えています。

どうすればそれができるか提案してください。

4

8 に答える 8

8

You can use subarrayWithRange: of NSArray like this:

NSRange range = NSMakeRange([mutableArray1 count] - 3, 3);
NSMutableArray *mutableArray2 = [NSMutableArray arrayWithArray:
                                  [mutableArray1 subarrayWithRange:range]];
于 2012-12-04T13:23:03.923 に答える
4

このコードはあなたを助けるでしょう

NSMutableArray * array = [[NSMutableArray alloc]initWithObjects:@"1",@"2",@"3",@"4",@"5",@"6",@"7",@"8", nil];

    NSMutableArray * otherArray = [[NSMutableArray alloc]init];
    for (int i= array.count-3; i<array.count; i++) {
        [otherArray addObject:[array objectAtIndex:i]];
    }
    NSLog(@"%@",otherArray);
于 2012-12-04T13:26:00.747 に答える
4

とてもシンプルです

while ループを適用

int i=1;
while (i<4 && i < [array1 count])
{
    [array2 addObject:[array1 objectAtIndex:([array1 count]-i)]];
    i++;
}

それがあなたを助けることを願っています

于 2012-12-04T13:23:26.743 に答える
1
for (int i=[array1 count] - 4 ; i<[array1 count] ; i++){
    [array2 addObject:[array1 objectAtIndex:i]];
}
于 2012-12-04T13:21:56.413 に答える
0
use this
   MutableArray *array = [main_array subarrayWithRange:NSMakeRange(main_array.count-3, main_array.count)];
于 2012-12-04T13:24:58.583 に答える
0

このために、独自のカスタム コードを実装できます。

if([yourArray count] > 3)
{
  for (int loop = [yourArray count]; loop >= ([yourArray count]-3) ; loop--)
     [secondArray addObject:[yourArray objectAtIndex:loop-1]];
}
于 2012-12-04T13:24:15.647 に答える
0
[MutableArray2 addObject:[MutableArray1 objectAtIndex:[MutableArray1 count]-1]] ;
[MutableArray2 addObject:[MutableArray1 objectAtIndex:[MutableArray1 count]-2]] ;
[MutableArray2 addObject:[MutableArray1 objectAtIndex:[MutableArray1 count]-3]] ;
于 2012-12-04T13:26:56.437 に答える
0
    if([yourArray1 count] > 3){

        for (int i=[yourArray1 count] - 4 ; i<[yourArray1 count] ; i++){
          [yourArray2 addObject:[yourArray1 objectAtIndex:i]];
        }
    }
    else{
        for (int i= 0 ; i<[yourArray1 count] ; i++){
          [yourArray2 addObject:[yourArray1 objectAtIndex:i]];
        }
    }
于 2012-12-04T13:29:26.653 に答える