TTTRandomizedEnumerator 0.0.3

TTTRandomizedEnumerator 0.0.3

测试测试
语言语言 Obj-CObjective C
许可证 MIT
发布最新发布2014 年 12 月

Mattt 维护。



  • Mattt Thompson 编写

随机访问(集合)回忆

用风格和类(嗯,是一个分类,但您懂的)在你的集合类中混搭一下吧。

我想我们可以为 1995 年新鲜出炉的 NSEnumerator 在心中腾出一点点空间。

顺便说一句:你知道吗?你可以用五行代码用 NSEnumerator 反转一个 NSArrayarray.reverseObjectEnumerator.allObjects。噗。

无论如何,这是遍历 NSArrayNSSetNSOrderedSet 的对象,以及 NSDictionary 的键和值的最佳方式。

示例用法

#import "TTTRandomizedEnumerator.h"

NSUInteger capacity = 100;
NSMutableArray *mutableNumbers = [NSMutableArray arrayWithCapacity:capacity];
for (NSUInteger i = 0; i < capacity; i++) {
    [mutableNumbers addObject:@(i)];
}

// Classic `NSEnumerator` use with `while` loop
NSNumber *number = nil;
NSEnumerator *enumerator = [mutableNumbers randomizedObjectEnumerator];
while ((number = [enumerator nextObject])) {
    NSLog(@"%@", number);
}

// `NSEnumerator` also conforms to `<NSFastEnumeration>`
for (NSNumber *number in [mutableNumbers randomizedObjectEnumerator]) {
    NSLog(@"%@", number);
}

分类方法

NSArray

- (NSEnumerator *)randomizedObjectEnumerator;

NSSet

- (NSEnumerator *)randomizedObjectEnumerator;

NSOrderedSet

- (NSEnumerator *)randomizedObjectEnumerator;

NSDictionary

- (NSEnumerator *)randomizedKeyEnumerator;
- (NSEnumerator *)randomizedObjectEnumerator;

联系方式

Mattt Thompson 编写

许可证

TTTRandomizedEnumerator 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。