我有一个NSMutableArray
,其计数为10,我想提取最后5个值并将它们存储在另一个数组中。我怎么能这样做?
答案 0 :(得分:6)
我认为- (NSArray *) subarrayWithRange:(NSRange)range
(doc)可能会对您有所帮助。
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)];
}