gpt4 book ai didi

objective-c - 是否可以为必须重写的方法创建警告?

转载 作者:搜寻专家 更新时间:2023-10-30 19:57:46 25 4
gpt4 key购买 nike

<分区>

我正在阅读 Creating an abstract class in Objective-C ,并且我对类的“抽象性”仅在运行时强制执行这一事实并不十分满意。如果该方法未在子类中实现,我希望能够显示一些警告。理想情况下,这可以压缩为一两个 #define

是否巧妙地使用了 __attribute((available,deprecated,etc))__#warning 和一些小心的 #pragma clang diagnostic push可以做到这一点吗?

我认为这是可能的;我只是对 Clang 了解不够,无法弄明白。

编辑:

无需告诉我应该使用协议(protocol)。我已经将它们用于此目的。我更想知道它是否可以完成(以了解更多关于 Clang 的信息)而不是它是否应该完成。

我看到这与 NSManagedObject 的工作方式类似,需要将属性标记为 @synthesized@dynamic。我对此进行了研究,我看到在 NSManagedObject.h 中,该类被标记为 NS_REQUIRES_PROPERTY_DEFINITIONS,它转换为 __attribute__((objc_requires_property_definitions))NSObjCRuntime.h 中。这些内置的 #define 是否有一些创造性的用途可以使这项工作成功?

编辑#2:

对于那些说抽象父类(super class)不是 Objective-C 方式的人,我将引导您到 documentation for UIMotionEffects :

Subclassing Notes

This class is abstract and cannot be instantiateddirectly.

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