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

但是,类型检查器现在提示这些方法未在我的包装器类上实现,这通常是一件好事。

所以我想我应该在包装器的标题中写一些方法声明,以满足类型检查器的要求。请注意,我只需要声明,而不是定义。

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

那么,有没有一种方法可以声明一个@property而不让它自动合成getter和setter呢?我喜欢这个功能,所以我只想在每个类中禁用它,并在项目的其余部分中将其保留。有点像-fno-objc-arc

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

最佳答案

如果添加

@dynamic yourProperty;

到类的实现,那么将没有实例变量和访问函数
为该属性合成的。

关于objective-c - 为类禁用Objective-C自动属性合成?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17294942/

10-09 18:52