2014-02-16 41 views
1

我正在使用以下代碼來反轉數組中的對象。但是這個方法反轉了數組中的所有對象。反向最後一個Objective-C數組對象?

NSArray* finalreversed = [[myArray reverseObjectEnumerator] allObjects]; 

如何只能顛倒數組中的最後10個元素,即myArray?

回答

0

拆分第一個(長度爲10)的對象。拆分最後10個。顛倒後者。將前者與反向連接。

+0

謝謝,我做到了:) –

2
NSUInteger rangeLength = MIN(10, myArray.count); 
NSUInteger rangeLocation = MAX(0, myArray.count - rangeLength); 
NSArray *lastTenReversed = [[[myArray subarrayWithRange:NSMakeRange(rangeLocation, rangeLength)] reverseObjectEnumerator] allObjects]; 
NSArray *finalArray = [[myArray subarrayWithRange:NSMakeRange(0, rangeLocation)] arrayByAddingObjectsFromArray:lastTenReversed]; 

MIN/MAX檢查,確保你不要去出界。如果數組少於10個對象,它將簡單地將它們全部撤消。

+0

謝謝,但我做了Seva的下一個答案,Upvote for Sir, –

+0

@AndroidCheeta歡迎您;) –

相關問題