Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Fetching contributors…
Cannot retrieve contributors at this time
48 lines (40 sloc) 1.61 KB
// GTMNSArray+Merge.h
// Copyright 2008 Google Inc.
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License. You may obtain a copy
// of the License at
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
// License for the specific language governing permissions and limitations under
// the License.
#import <Foundation/Foundation.h>
// Extension to NSArray to allow merging of arrays.
@interface NSArray (GTMNSArrayMergingAdditions)
// Merge our array with |newArray| by sorting each array then merging the
// two arrays. If |merger| is provided then call that method on any old
// items that compare as equal to a new item, passing the new item as
// the only argument. If |merger| is not provided, then insert new items
// in front of matching old items. If neither array has any items then
// nil is returned.
// The signature of the |merger| is:
// - (id)merge:(id)newItem;
// Returns a new, sorted array.
- (NSArray *)gtm_mergeArray:(NSArray *)newArray
// Same as above, only |comparer| is used to sort/compare the objects, just like
// -[NSArray sortedArrayUsingSelector]. If |comparer| is nil, nil is returned.
- (NSArray *)gtm_mergeArray:(NSArray *)newArray
Jump to Line
Something went wrong with that request. Please try again.