Fetch last five values from NSMutableArray

2019-03-06 16:27发布

I have a NSMutableArray whose count is 10 and I want to extract the last 5 values and store them in another array. How can I do this?

3条回答
Viruses.
2楼-- · 2019-03-06 16:59

Use following way :

 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);
查看更多
Explosion°爆炸
3楼-- · 2019-03-06 16:59

You can use subarrayWithRange method to get the desired arraydata. Try this hopefully it will work.

if (yourMutableArray.count > 10) 
{
NSArray *newArray = [yourMutableArray subarrayWithRange:NSMakeRange(yourMutableArray.count-10, yourMutableArray.count-1)];
}
查看更多
走好不送
4楼-- · 2019-03-06 17:14

I think that - (NSArray *) subarrayWithRange:(NSRange)range (doc) might help you.

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

EDIT : Be careful to check that your array has at least five elements, else, subarrayWithRange will throw an exception.

查看更多
登录 后发表回答