gpt4 book ai didi

objective-c - respondsToSelector 方法必须存在吗?

转载 作者:行者123 更新时间:2023-12-03 16:50:59 26 4
gpt4 key购买 nike

我用respondsToSelector检查的方法是否必须实际存在?

如果我只在接口(interface)部分定义而没有实现怎么办?我正在研究 Objective-C 中的穷人虚拟函数。

最佳答案

首先,是的,该方法实际上必须存在才能在您描述的上下文中成功进行检查。 respondsToSelector: 如果该方法未实现,将返回 NO

更重要的是,我认为你指的是 Objective-C 中穷人的纯虚函数。所有实例方法在 Objective-C 中都是“虚拟的”;由于方法查找是在运行时完成的,因此将始终使用子类的实现,即使是来自父类(super class)类型的指针。在 Objective-C 中,不存在纯虚拟基类这样的东西。您通常可以通过使用 @protocol 定义 API 或使用提供抛出 NSNotImplementedException 作为其主体的实现的基类来实现您想要的目的。子类显然必须重写实现,使其实际上是纯虚拟的。

关于objective-c - respondsToSelector 方法必须存在吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2661248/

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