0
對於我目前的項目,我有一些協議,我宣佈在實施這項協議的類類別:類別對實現協議的類有什麼影響?
@interface MyClass (ImplementingMyProtocol) <MyProtocol>
@end
@implementation
// Implementation of protocol
@end
我認爲有兩種可能這個方案如何可以解釋:
- 的類別僅適用於符合
MyProtocol
的MyClass
子類。 - 該分類適用於
MyClass
的所有實例,並按類別實施MyProtocol
。
這兩種可能性究竟適用於哪一種?我不知道編譯器是如何解釋這個聲明的,我沒有找到任何有關該主題的幫助或文檔。我想我知道如何處理這兩個選項,儘管如此,我需要知道哪一個實際上是編譯器解釋我的代碼的方式。
但是「conformsToProtocol」-Method呢?這不是運行時知道的一些協議相關信息嗎?我可以看到你的觀點,即使用Objective CI可以將任何類型的消息發送給任何對象並希望得到答覆,但我認爲可以在運行時使用協議(使用上述方法)對對象執行一些額外的檢查,無論是是否它可以給我一個錯誤發送一些消息給一個對象... –
是的....「你可以問一個類在運行時,但objC doesnt」 - 運行時無關 –
檢查將是YES給出的例子 –