objective-c - 抑制类的警告(尝试在 objc 中模拟抽象类)

标签 objective-c

情况就是这样。我已经成为 C++ 程序员多年了。我喜欢抽象类和“接口(interface)”,所以我想使用 objc 做同样的事情。

我对接口(interface)使用协议(protocol),但问题是当我的抽象类继承该协议(protocol)时(我不想在这里实现它),我会收到如下警告:

警告:未找到“XXXXX”的方法定义,并且“XXXXX”类未完全实现“XXXXXX”协议(protocol)。

有什么办法可以抑制这种情况吗?我希望如果基类没有实现该协议(protocol),这个子类会抛出“正确的警告”。

另一种选择是在需要时从协议(protocol)继承,但我喜欢在基类中强制执行此操作,以确保继承实现接口(interface)。

有什么建议吗? 提前致谢。

最佳答案

当你在 Objective-C 类中实现一个协议(protocol)时,你必须实现所有的方法。但是,您可以提供 stub 实现。这个mailing list post描述如何在“抽象”类中使用 doesNotRecognizeSelector:

关于objective-c - 抑制类的警告(尝试在 objc 中模拟抽象类),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3015545/

相关文章:

objective-c - NSmanagedObject copyWithZone 问题

iPhone 应用程序崩溃 - NSZombie 输出问题

iphone - iOS 编程中的内存管理

iphone/Objective C - 比较 double 不起作用

objective-c - 如何在 iPhone 上镜像视频?

objective-c - ld : duplicate symbol - caused by const

ios - 如何使用 NSOperationQueue 和 NSOperation 在后台 Thread 使用 NSTimer 定期调用序列化下载任务

ios - UIButton 在突出显示状态下更改代码中创建的图像

ios - 问题注意 Swift 方法作为 Objective C 中的选择器并在 Swift ios App 中使用 Objective C 对象

objective-c - 如何在一行代码中写 `performSelectorInBackground: afterDelay:`?