情况就是这样。我已经成为 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/