如果您没有指定委托,self
是默认委托吗?
另外,如果你有一个UITextField
,你需要确保它知道它是UITextFieldDelegate
还是默认为一个?
答案 0 :(得分:2)
如果您未指定委托,
什么对象?由具体对象的实现决定。
是自定义默认委托吗?
不,在没有任何其他信息的情况下,代表可能是零。
但是,如果您正在编写类实现,并希望该对象默认将其委托设置为self
,那么您当然可以这样做。不过,我认为这通常会让人感到困惑而不是有用。
如果您想默认执行某些操作,只需检查代理是否为零。 (有人总是可以将你的代表设置为零,所以无论如何你必须做那个检查。)
如果您有UITextField,您需要确保它知道它是UITextFieldDelegate还是默认为一个?
UITextField
没有实现UITextFieldDelegate
中的任何方法 - 或者至少它没有宣传它是这样做的 - 所以我不确定你的意思。 UITextField
本身不能用作UITextFieldDelegate
。
如果你是UITextField
的子类并在UITextFieldDelegate
协议中添加方法,那么你可以将其标记为实现UITextFieldDelegate
:
@interface MyTextField : UITextField <UITextFieldDelegate>
但是默认情况下不会发生这种情况,你必须要实现它。