我有一个问题,我正在研究 UITextField 的子类。它将在许多课程中进一步使用。但我不想让用户以任何方式使用它的委托方法。
有没有办法做到这一点?
我有一个问题,我正在研究 UITextField 的子类。它将在许多课程中进一步使用。但我不想让用户以任何方式使用它的委托方法。
有没有办法做到这一点?
覆盖setDelegate:
,以便它抛出异常或记录关于做什么的指令。这样您的 API 用户就会知道实际发生了什么。
-(void) setDelegate: (id <UITextFieldDelegate>) delegate
{
NSLog(@"*** Use the blocks API instead of calling %s", __PRETTY_FUNCTION__);
[self doesNotRecognizeSelector: _cmd];
}
覆盖该-setDelegate:
方法,使其从不实际设置委托。您可以只提供一个无法调用的空方法super
:
-(void) setDelegate:(id<UITextFieldDelegate>) delegate
{
// this method intentionally empty to prevent a delegate from ever being set
}