0
我想循环使用最初在Objective-C中使用Swift定义的enum
。循环播放Swift中的Objective-C枚举?
Objective-C的定义现在如下:
typedef NS_ENUM(NSInteger, Enum) { A, B, C };
如果我尝试for e in Enum
我从斯威夫特编译此错误信息(在Xcode 6.1.1):
Type 'Enum.Type' does not conform to protocol Sequence.Type
什么不见了?如果可能的话,我怎样才能让这个枚举表现为一个序列?
但显然Swift允许以我试过的方式循环一些枚举(参见[这里](http://stackoverflow.com/questions/24007461/how-to-enumerate-an-enum-with-string-type) )。所以你说没有(直截了当)的方式来实现这与基于Objective-C的枚举,对吧?另外,我在'A ... C'中为'e解析了标识符A',而'ClosedInterval没有名为'Generator'的成员用于'for。in ... .C'。 –
Drux
2015-01-26 20:31:06
这是迄今为止我已经能够实现的最好的基于你的输入:'为eAsInt in Enum.A.rawValue ..
Drux
2015-01-26 21:10:46
请注意,在你引用的问题中,他们实际上定义了一个数组'allValues',它包含所有可能值的显式列表,然后遍历'Enum.allValues',它实质上是@ tommy的最后一段答案建议。 – 2015-01-26 21:51:06