Protocol * x = @protocol(aProtocolName)在目标c中做了什么?

时间:2011-11-17 10:42:10

标签: objective-c

我发现我可以在objc中做这些事情:

Protocol* aProtocol = @protocol(NSObject);

但这种技术用于什么?

2 个答案:

答案 0 :(得分:0)

例如,您可以拥有一个容器,该容器提供服务以检查其所有内容是否符合协议。

Protocol *contentProtocol;

- (void)setContentProtocol:(Protocol *)proto;

然后容器的用户可以调用:

[container setContentProtocol:@protocol(MyProtocol)];

在容器中的某处可以进行检查:

[[item class] conformsToProtocol:contentProtocol];

答案 1 :(得分:0)

what is use of Formal Protocol Object
您可以使用它来检查对象是否符合协议。

[anotherObject conformsToProtocol:aProtocol];