@protocol XXXDelegate <NSObject>
@property (nonatomic, strong) XXX
@end
id<XXXDelegate> msg = obj;
[msg XXX]
1.
id<XXXDelegate> msg = obj
在swift中是如何写这种类型的
使用swift如何表示通用遵循协议。。。?
谢谢你。
最佳答案
一般来说,如果要存储对某个符合协议XXXDelegate
的类型的引用,则需要像var delegate: XXXDelegate?
那样编写该引用。
如果您询问是否要引用与协议匹配的具体类,那么没有简单的方法(这违背了swift协议的总体思想)。可以使用泛型函数/类约束来执行此操作,也可以使用名为类型擦除的技术。
第一个更直截了当
class Generic<T: SomeClass> where T: XXXDelegate {
var delegate: T?
}
关于ios - Swift协议(protocol)问题,如何表达,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43650670/