cocoa - 综合属性和 ivar 错误

标签 cocoa compiler-construction properties ivar synthesize

我一直在“调试 X86-64”模式(Xcode 3.6)下构建我的程序,一切都运行完美。但是,我只是尝试切换到“Release X86-64”模式,编译后我的每个属性都收到以下错误:

Synthesized property 'x' must either be named the same as a compatible ivar or must
explicitly name an ivar.

其中“x”是我的属性之一,第一个是“company”(我收到了 51 个此类错误。)。在我的 .h 接口(interface)文件中,我以这种方式列出了这些项目:

@property (copy) NSString   *company,
                        *address1,
                        *address2,
                        *city,
                        *usState,
                        *zip,
                        *phone,
                        *fax,
                        *email,
                        *web; // etc, etc.

在我的 .M 实现文件中,我将它们综合如下:

@synthesize company,
        address1,
        address2,
        city,
        usState,
        zip,
        phone,
        fax,
        email,
        web; // etc, etc.

我的理解是,实例变量是自动为这些属性创建的......事实上,它们似乎工作得很好,直到我尝试在“发布”模式下编译。

我在书中找不到任何我必须解释的内容。我是否做错了什么,或者更具体地说,我应该包含什么来修复“发布”编译的问题?

谢谢!

最佳答案

还有另一个快速解决方案:也在委托(delegate)定义中添加这些属性

    @interface YourAppDelegate : NSObject <NSApplicationDelegate> {
      NSTextField * company;
      NSSlider * company;
         ...
     }

    @property (copy) NSString   *company,
                                *address1,
                                ... ;

关于cocoa - 综合属性和 ivar 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10476385/

相关文章:

iphone - 整数扩展 - 第一、第二、第三等

gcc - Windows中嵌入式平台的交叉编译器

c++ - 哪个编译器用于函数中的默认模板参数

.NET 目标框架性能

c# - 通过具有不同属性类型的反射设置对象的属性

objective-c - 在 UIViewController 子类中延迟加载 View

objective-c - 如何找出谁调用了方法?

objective-c - 自动调整 NSTableView 的高度

objective-c - 我项目中的所有 NSTableView 都没有收到空格键键盘事件

c# - 最小起订量、SetupGet、模拟属性