是否存在用于约束id返回类型的Clang函数属性?

时间:2014-12-08 20:22:27

标签: objective-c clang

我有一个功能:

+ (id) loadClass:(Class)cls

返回是cls类型的实例,而不仅仅是任何旧的id。有没有办法使用GCC / Clang属性来通知编译器(这样它可以执行类型检查)?

例如,我正在寻找这样的东西:

+ (instancetype(cls)) loadClass:(Class)cls

+ (id) loadClass:(Class)cls __attribute__((returntype=cls))


编辑:向用例添加一些细节

给出两个选择器:-[XYZ foo]-[UVW bar]我想:

[[Loader loadClass:[XYZ class]] bar] // Warning
[[Loader loadClass:[XYZ class]] foo] // OK
[[Loader loadClass:[UVW class]] bar] // OK
[[Loader loadClass:[UVW class]] foo] // Warning

0 个答案:

没有答案