0
在Objective-C中,是否可以在第二個委託協議定義中包含與委託協議的一致性?我試圖避免這樣的模式:聲明委託符合另一個協議
if ([objectA conformsToProtocol:@protocol(privateDelegateProtocol)])
{
id<privateDelegateProtocol> privateDelegate = (id<privateDelegateProtocol>)objectA;
objectB.privateDelegate = privateDelegate;
}
我已經知道objectA
符合我自己的委託協議@protocol(myDelegateProtocol)
,因爲事實上self.myDelegate = objectA
。如果我能以某種方式在該協議定義,它也必須符合@protocol(privateDelegateProtocol)
指定的話,我可以只寫:
objectB.privateDelegate = self.myDelegate;
這似乎更簡單,更優雅。如果協議方法沒有實現,我寧願得到編譯時警告,而不必在運行時檢查它。有沒有辦法?
太棒了 - 謝謝!我不知道這些技巧,他們都非常有用! :-) – deltacrux 2015-03-03 06:05:06