可可 – 合成属性和ivar错误

我一直在“Debug 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’是我的一个属性,第一个是’公司'(我收到51个这种类型的错误.).在我的.h界面文件中,我以这种方式列出了这些项目:

@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.

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

我无法在书中找到任何解释这一点的内容.我做错了什么,或者更具体地说,我应该包含哪些内容来修复“发布”编译?

谢谢!

解决方法

我相信我已经在这里回答了我自己的问题.我已经做了两件事来纠正这些错误:

首先,我在接口文件中添加了实例变量声明.
其次,我将@Synthesize指令更改为:

@synthesize company = company;
@synthesize address1 = address1;
etc...

这已修复了所有错误,并且所有内容都在构建和发布模式下正确编译.

相关文章

我正在用TitaniumDeveloper编写一个应用程序,它允许我使用Ja...
我的问题是当我尝试从UIWebView中调用我的AngularJS应用程序...
我想获取在我的Mac上运行的所有前台应用程序的应用程序图标....
我是一名PHP开发人员,我使用MVC模式和面向对象的代码.我真的...
OSX中的SetTimer在Windows中是否有任何等效功能?我正在使用...
我不确定引擎盖下到底发生了什么,但这是我的设置,示例代码和...