5

我正在编写一个使用动态运行时将消息转发到包装对象的包装类,使用forwardInvocation:

然而,类型检查器现在抱怨这些方法没有在我的包装类上实现,这通常是一件好事。

所以我想我会在包装器的头文件中写一些方法声明来满足类型检查器的要求。请注意,我只想要声明,而不是定义。

但是,当我复制我的@property指令时,它们不仅被声明,而且还被定义,这样它们就优先于方法转发,因此它中断了转发。

那么有没有办法声明 a@property而不是让它自动合成 getter 和 setter 呢?我喜欢这个功能,所以我只想在每个班级的基础上禁用它,并将它留在项目的其余部分。有点像-fno-objc-arc

PS clang -v=>$ Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)

4

1 回答 1

6

如果你添加

@dynamic yourProperty;

对于类实现,则不会为该属性合成任何实例变量和访问器函数。

于 2013-06-25T10:49:20.320 回答