gpt4 book ai didi

objective-c - ios 委托(delegate)默认为什么

转载 作者:行者123 更新时间:2023-11-28 23:00:07 26 4
gpt4 key购买 nike

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

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

最佳答案

If you don't specify a delegate,

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

is the self the default delegate?

不,在没有任何其他信息的情况下,委托(delegate)可能为零。

但是,如果您正在编写一个类实现,并希望该对象默认将其委托(delegate)设置为 self,您当然可以这样做。不过,我认为这通常会让人感到困惑而不是有用。

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

If you have a UITextField do you need to make sure it knows it is a UITextFieldDelegate or is it one by default?

UITextField 没有实现 UITextFieldDelegate 中的任何方法——或者至少它没有宣传它这样做——所以我不确定是什么你是说这里UITextField 本身不能用作 UITextFieldDelegate

如果您要继承 UITextField 并在 UITextFieldDelegate 协议(protocol)中添加方法,那么您可以将其标记为实现 UITextFieldDelegate:

@interface MyTextField : UITextField <UITextFieldDelegate>

但这不会默认发生,您必须让它发生。

关于objective-c - ios 委托(delegate)默认为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10158597/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com