[英]Objective-C is @synthesize required or optional?
抱歉,我是新手iOS開發人員,最近我簡要地聽說@synthesize現在是某個版本的Xcode中的@synthesize,並且編譯器將自動合成和屬性並將_分配給私有變量。
我測試了這個:
如果沒有@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; 在代碼中,這看起來對我來說很難看。
所以,如果你像我一樣(打破我所假設的所有標准編碼約定),你仍然需要使用合成。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.