gpt4 book ai didi

iOS - 如何获得委托(delegate)类

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

我怎样才能得到我的委托(delegate)的类别?我想调用类似 self.delegate.class 的东西,但它不存在。

我的目标是调用 2 种不同的方法,具体取决于哪个类发起了具有协议(protocol)的类。

最佳答案

您可以(并且应该)使用 respondsToSelector 来检查该委托(delegate)是否能够响应该选择器,而不是试图找出类。

例子:

if ([self.delegate respondsToSelector:@selector(method1:)]) {
[self.delegate method1:self];
} else if ([self.delegate respondsToSelector:@selector(method2:)]) {
[self.delegate method2:self];
}

而且你只在你想要的类中实现每个方法,但它们都在委托(delegate)协议(protocol)上。这种方法是否满足您的需求?

就像其他人评论和回答的那样,调用委托(delegate)的人不需要知道他是什么类或类型,只需要检查该委托(delegate)是否符合协议(protocol)以及是否响应您要调用他的方法。

有关 respondsToSelector @ Apple Documentation 的更多信息

关于iOS - 如何获得委托(delegate)类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27421527/

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