【发布时间】:2016-12-25 23:01:01
【问题描述】:
我需要声明一个变量来存储不同类型的枚举数组,例如:
var enums = [EnumTypeA.Option1, EnumTypeB.Option2]
编译器状态:
没有更多上下文的表达类型是模棱两可的
这对于将任何枚举或其他对象作为函数参数传递是必需的。但是我发现我可以通过泛型来实现这一点,例如:
func f1<T>(enum: T)
但是拥有带有可选方法的协议(以@objc 为前缀)是不可能的。
【问题讨论】:
-
你提到了一个@objc 协议,可以告诉我们更多关于它的信息,以及在你想做的事情中扮演什么角色?
-
使用@objc 协议来声明它们的一些功能是可选的,并使用这样的委托作为弱属性。
-
在你的例子中什么符合这样的协议?
-
具有请求类型描述的回调方法的请求委托。
标签: ios swift generics enums protocols