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?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
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.
回答2:
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);
回答3:
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)];
}