【发布时间】:2012-08-28 09:29:36
【问题描述】:
我试图枚举一堆对象,根据情况,这些对象可能是 NSArray 或 NSOrderedSet。由于两者都符合 NSFastEnumeration,我希望这可以工作:
id<NSFastEnumeration> enumerableSet =
(test) ?
[NSArray arrayWithObjects:@"one", @"two", @"three", nil] :
[NSOrderedSet orderedSetWithObjects:@"one", @"two", @"three", nil];
NSEnumerator *e = [enumerableSet objectEnumerator];
但是,我收到以下编译器错误:
选择器“objectEnumerator”没有已知的实例方法。
我怀疑这里有一些语法错误,我以前没有用过 id 构造。我可以将一组或两组转换为一个通用类,但如果可能的话,我想更好地了解这里发生了什么。
【问题讨论】:
标签: objective-c ios nsenumerator objective-c-protocol