从NSMutableArray中获取最后五个值

时间:2013-08-27 05:54:44

标签: cocoa cocoa-touch nsarray slice

我有一个NSMutableArray,其计数为10,我想提取最后5个值并将它们存储在另一个数组中。我怎么能这样做?

3 个答案:

答案 0 :(得分:6)

我认为- (NSArray *) subarrayWithRange:(NSRange)rangedoc)可能会对您有所帮助。

NSRange theRange;
theRange.location = [wholeArray count] - 5;
theRange.length = 5;
NSArray *result = [wholeArray subarrayWithRange:theRange];

编辑:请注意检查您的数组是否至少包含五个元素,否则subarrayWithRange会抛出异常。

答案 1 :(得分:2)

使用以下方式:

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

    NSMutableArray *sec = [[NSMutableArray alloc] init];
    for(int i=5; i< [first count]; i++) {

        [sec addObject:[first objectAtIndex:i]];

     }

NSLog(@"sec - %@",sec);

答案 2 :(得分:0)

您可以使用subarrayWithRange方法获取所需的arraydata。希望它能有效。

if (yourMutableArray.count > 10) 
{
NSArray *newArray = [yourMutableArray subarrayWithRange:NSMakeRange(yourMutableArray.count-10, yourMutableArray.count-1)];
}