@firstObject的集合对象运算符键值编码KVC

时间:2013-06-19 20:00:05

标签: cocoa cocoa-bindings key-value-coding

我经常需要检索属于Set的第一个对象。 (使用该对象作为该集合的代表。)

我设想了一个类似于

的Collection Object操作符
@unionOfObjects

但很清楚

@firstObject

是否可以创建这样的Collection运算符!

1 个答案:

答案 0 :(得分:1)

目前无法定义自定义集合运算符。然而,由于一些内部魔术,有一个有趣的解决方案:

    NSSet *testSet = [NSSet setWithArray:@[@"one", @(1)]];

    id object = [testSet valueForKey:@"@anyObject"];
    NSLog(@"anyObject (%@): %@", NSStringFromClass([object class]), object);

UPD:忘了提一个方便的诀窍:你可以在@lastObject上使用NSArray