在 Swift 中,我如何声明一个明确声明它符合某些协议(protocol)的变量? objective-c 等价物是 @property id<NSObject>
据我了解,这样做:
var a: NSObject
声明一个类型为 NSObject 协议(protocol)的变量,但我不这样做,我想声明一个类型为 AnyObject
的变量。符合。我也有兴趣了解如何声明一个对象数组,其中每个对象都符合该协议(protocol)。
最佳答案
其实不需要AnyObject
这里;如果您只关心遵守协议(protocol) Proto
, 你可以简单地写 var a: Proto
. (在某些情况下,您的协议(protocol)可能会使用 Self
或其他需要将其用作通用约束的事物;然后您将使用 class C<T: Proto> { var a: T }
。
关于swift - 将类变量声明为符合 Swift 协议(protocol),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25345158/