본문 바로가기

Programming/iOS

NSArray를 merge하는 함수

반응형

NSArray 두개를 merge하는 함수를 제작해보았다.

원리는

arr1의 데이터를 하나씩 검사하면서 arr2에 있었던 데이터 인지 판별 후 없으면 새로운 array에 넣고 arr1 검사가 끝나면 arr2의 데이터를 넣는 방식이다.


소스를 보면 아마 쉽게 이해가 될 것이다.

(혹시 merge하는 API가 존재하는건 아니겠지?)


- (NSArray *)arrayByMergingArray:(NSArray *)arr1 arr2:(NSArray *)arr2

{

    NSMutableArray *arrMerge = [NSMutableArray array];

    

    for (int i = 0; i < arr1.count; i++)

    {

        id getArr1Data = [arr1 objectAtIndex:i];

        BOOL isContained = [arr2 containsObject:getArr1Data];   

        

        if(!isContained)

            [arrMerge addObject:getArr1Data];  

    }

    

    for (int i = 0; i < arr2.count; i++) {

        id getArr2Data = [arr2 objectAtIndex:i];

        [arrMerge addObject:getArr2Data];

    }


    return (NSArray *)arrMerge;

}


반응형