gpt4 book ai didi

iphone - 委托(delegate)方法如何知道何时被调用

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:07:08 25 4
gpt4 key购买 nike

我只是想知道委托(delegate)方法究竟是如何知道何时被调用的?例如,在 UITextFieldDelegate 协议(protocol)中,当在文本字段中开始编辑时调用 textFieldDidBeginEditing: 方法(前提是我实现了此方法)。

那么代码究竟是如何检测何时调用 textFieldDidBeginEditing: 的呢?系统是否只检查 textFieldDidBeginEditing: 是否已经实现,如果是它运行那个方法?幕后有什么我没看到的吗?

最佳答案

没错。

我不能保证 Apple 的框架代码是如何在幕后实现的,但一个非常普遍的说法是:

if ([[self delegate] respondsToSelector:@selector(someInstance:didDoSomethingWith:)]) {
[[self delegate] someInstance:self didDoSomethingWith:foo];
}

这允许您拥有可选的委托(delegate)方法,这似乎是您的问题。

关于iphone - 委托(delegate)方法如何知道何时被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11091975/

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