簡體   English   中英

Objective-C是@synthesize必需還是可選的?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM