Skip to content

Instantly share code, notes, and snippets.

@tonyarnold
Last active August 29, 2015 13:57
Show Gist options
  • Select an option

  • Save tonyarnold/9700369 to your computer and use it in GitHub Desktop.

Select an option

Save tonyarnold/9700369 to your computer and use it in GitHub Desktop.
//
// Created by Tony Arnold on 22/03/2014.
// Copyright (c) 2014 The CocoaBots. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface NSArray (CocoaBotsAdditions)
- (NSSet *)tcb_objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate;
- (NSArray *)tcb_arrayOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate;
@end
//
// Created by Tony Arnold on 22/03/2014.
// Copyright (c) 2014 The CocoaBots. All rights reserved.
//
#import "NSArray+CocoaBotsAdditions.h"
@implementation NSArray (CocoaBotsAdditions)
- (NSSet *)tcb_objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate
{
NSSet *allObjects = [NSSet setWithArray:self];
return [allObjects objectsPassingTest:predicate];
}
- (NSArray *)tcb_arrayOfObjectsPassingTest:(BOOL (^)(id obj, NSUInteger idx, BOOL *stop))predicate
{
NSIndexSet *passingIndexes = [self indexesOfObjectsPassingTest:predicate];
return [self objectsAtIndexes:passingIndexes];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment