我發現我可以在objc做這樣的事情:Protocol * x = @protocol(aProtocolName)在目標c中做什麼?
Protocol* aProtocol = @protocol(NSObject);
而且是用來做什麼這項技術?
我發現我可以在objc做這樣的事情:Protocol * x = @protocol(aProtocolName)在目標c中做什麼?
Protocol* aProtocol = @protocol(NSObject);
而且是用來做什麼這項技術?
例如,您可以擁有一個提供服務的容器,以檢查其所有內容是否符合協議。
Protocol *contentProtocol;
- (void)setContentProtocol:(Protocol *)proto;
然後容器的用戶可致電:
[container setContentProtocol:@protocol(MyProtocol)];
在容器中的檢查可以作出
而且地方:
[[item class] conformsToProtocol:contentProtocol];
或只是'[項目conformsToProtocol:contentProtocol]' – user102008
what is use of Formal Protocol Object
你可以用它來檢查如果一個對象符合協議。
[anotherObject conformsToProtocol:aProtocol];
要做到這一點:http://stackoverflow.com/questions/3436257/objective-c-runtime-best-way-to-check-if-class-conforms-to-protocol – kennytm