How to split an NSArray into two equal pieces?

前端 未结 3 606
忘了有多久
忘了有多久 2020-12-06 10:33

I have an NSArray, and I want to split it into two equal pieces (if odd \"count\" then add to the latter new array) - I want to split it \"down the middle\" so to speak.

3条回答
  •  鱼传尺愫
    2020-12-06 10:47

    You also have the option of using -subarrayWithRange: detailed in the NSArray documentation:

    NSArray *firstHalfOfArray;
    NSArray *secondHalfOfArray;
    NSRange someRange;
    
    someRange.location = 0;
    someRange.length = [wholeArray count] / 2;
    
    firstHalfOfArray = [wholeArray subarrayWithRange:someRange];
    
    someRange.location = someRange.length;
    someRange.length = [wholeArray count] - someRange.length;
    
    secondHalfOfArray = [wholeArray subarrayWithRange:someRange];
    

    This method returns new, autorelease-d arrays.

提交回复
热议问题