综合属性和ivar错误 [英] Synthesized Properties and ivar error

查看:65
本文介绍了综合属性和ivar错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在以"Debug X86-64"(调试X86-64)模式(Xcode 3.6)构建程序,并且一切正常.但是,我只是尝试切换到发布X86-64"模式,并且在编译时收到了我的每个属性的以下错误:

I've been building my program in the "Debug X86-64" mode (Xcode 3.6) and everything works flawlessly. However, I just tried switching to "Release X86-64" mode and upon compiling received the following errors for each of my properties:

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

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

Where 'x' is one of my properties, the first being 'company' (I received 51 errors of this type.). In my .h interface file, I've listed the items this way:

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

在我的.M实现文件中,我将它们合成为:

In my .M implementation file, I've synthesized them as so:

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

我的理解是实例变量是针对这些属性自动创建的……实际上,它们似乎运行良好,直到我尝试以发布"模式进行编译为止.

My understanding was that the instance variables are automatically created for these properties... in fact, they seem to be working perfectly, up until I try to compile in "release" mode.

我在书中找不到任何要解释的内容.我是在做错什么,还是更具体地说,我应该包括哪些内容以解决此发行"编译问题?

I couldn't find anything in the books I have to explain this. Am I doing something wrong, or more specifically, what should I include to fix this for "release" compiles?

谢谢!

推荐答案

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

I believe I have answered my own question here. I have done two things to correct these errors:

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

First, I've added instance variable declarations in the interface file. Second, I changed the @Synthesize directives to this:

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

这已解决了所有错误,并且在构建和发布模式下都可以正确编译.

This has fixed all of the errors and everything compiles correctly in both build and release modes.

这篇关于综合属性和ivar错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆