在 Objective-C 中,当您声明一个实例变量时,您可以在编译时检查它是否符合分配协议,如下所示:
id <MyProtocol> variable;
是否可以在编译时检查分配给变量的对象是否符合两个单独的协议?如:
id <MyProtocol, MyOtherProtocol> variable;
我知道我可以使用conformsToProtocol:
and respondsToSelector
et al 进行运行时检查(在实际使用对象之前我会这样做以增加安全性),并且我可以编写自己的 setter 方法来进行检查,但我想在编译时知道。