0

如果不指定委托,是self默认委托吗?

另外,如果您有一个UITextField,您是否需要确保它知道它是一个UITextFieldDelegate还是默认情况下是一个?

4

1 回答 1

2

如果您不指定委托,

属于什么对象?由具体对象的实现来决定。

自我是默认代表吗?

不,在没有任何其他信息的情况下,代表可能为零。

但是,如果您正在编写一个类实现,并且希望对象将其委托self默认设置为,您当然可以这样做。不过,我认为这通常比有用更令人困惑。

如果你想默认做某事,只需检查委托是否为零。(有人总是可以将你的委托设置为 nil,所以无论如何你都必须进行检查。)

如果你有一个 UITextField 你需要确保它知道它是一个 UITextFieldDelegate 还是默认情况下它是一个?

UITextField没有实现任何方法UITextFieldDelegate——或者至少它没有宣传它这样做——所以我不确定你在这里的意思。AUITextField本身不能用作 a UITextFieldDelegate

如果您要UITextField在协议中子类化并添加方法UITextFieldDelegate,那么您可以将其标记为正在实现UITextFieldDelegate

@interface MyTextField : UITextField <UITextFieldDelegate>

但这默认情况下不会发生,你必须让它发生。

于 2012-04-15T00:52:07.023 回答