我有一个Timer类和一个ManualTimer类,它们都声明了一个协议。在Timer.h中,我有这个
@property (nonatomic, weak) id <TimerDelegate> delegate;
在ManualTimer.h中,我有这个
@property (weak, nonatomic) id <ManualTimerDelegate> delegate;
但是xCode给了我一个警告
property type id <ManualTimerDelegate> is incompatible with type id <TimerDelegate> inherited from parent class
确实,this问题的答案之一说,子类委托必须与超类兼容,但它并没有说我怎么能这样做。你可以解释吗? 我该如何解决这个问题?
答案 0 :(得分:1)
当您声明ManualTimerDelegate
协议时,请使其符合&#34;超类&#34;协议(TimerDelegate
)。
@protocol ManualTimerDelegate < TimerDelegate >
@end
您的TimerDelegate
应该是这样的:
@protocol TimerDelegate < NSObject >
@end