Objective-C是@synthesize必需的还是可选的?
对不起,我是一个新手iOS开发人员,最近我简单地听说@synthesize现在在一个特定版本的Xcode @synthesize和编译器将自动合成和属性和分配_私有variables。
我testing过这个:
用@synthesize,你可以访问属性和私有字段
self.property_name = something; _property_name = something; //(used in getter and setters)
用@synthesize property_name,你可以使用属性和私有字段
self.property_name = something; property_name = something;
我的问题是我们真的需要@synthesize了吗? 或者我错过了一个更大的故事?
不,我们不需要像Xcode 4.4那样做,它添加了一个名为Default Synthesis Of Properties的特性。
简而言之,它会自动生成这个:
@synthesize name = _name;
除非你像我一样使用它,那么你仍然需要它,据我所知:
在.h:
@property int32_t FwdID;
在.m中:
@synthesize FwdID;
课内用法:
FwdID = 0;
从我可以告诉,如果你想默认为你工作,你必须键入_FwdID = 0; 在代码中,这只是看起来丑陋的我。
所以,如果你像我一样(打破了所有我认为的标准编码习惯),你仍然需要使用合成。