第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

@synthesize vs @dynamic,有什么區(qū)別?

@synthesize vs @dynamic,有什么區(qū)別?

BIG陽(yáng) 2019-11-03 04:04:42
使用@propertywith @dynamic或with有什么區(qū)別@synthesize?
查看完整描述

3 回答

?
慕絲7291255

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊

@synthesize將為您的屬性生成getter和setter方法。@dynamic只是告訴編譯器,getter和setter方法不是由類本身實(shí)現(xiàn)的,而是由其他地方實(shí)現(xiàn)的(例如超類或?qū)⒃谶\(yùn)行時(shí)提供)。


@dynamic的使用例如是NSManagedObject(CoreData)的子類,或者當(dāng)您要為由超類定義的屬性(未定義為插座)創(chuàng)建插座時(shí)。


@dynamic也可以用于委派實(shí)現(xiàn)訪問(wèn)器的責(zé)任。如果您在類中自己實(shí)現(xiàn)訪問(wèn)器,則通常不使用@dynamic。


超類:


@property (nonatomic, retain) NSButton *someButton;

...

@synthesize someButton;

子類:


@property (nonatomic, retain) IBOutlet NSButton *someButton;

...

@dynamic someButton;



查看完整回答
反對(duì) 回復(fù) 2019-11-04
?
泛舟湖上清波郎朗

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊

看一下這篇文章 ; 在“運(yùn)行時(shí)提供的方法”標(biāo)題下:


一些訪問(wèn)器是在運(yùn)行時(shí)動(dòng)態(tài)創(chuàng)建的,例如CoreData的NSManagedObject類中使用的某些訪問(wèn)器。如果要聲明和使用這些情況下的屬性,但又希望避免在編譯時(shí)對(duì)方法丟失的警告,則可以使用@dynamic指令而不是@synthesize。


...


使用@dynamic指令實(shí)際上告訴編譯器“不用擔(dān)心,一種方法即將出現(xiàn)?!?/p>


@synthesize另一方面,該指令在編譯時(shí)為您生成訪問(wèn)器方法(盡管如“混合的綜合和自定義訪問(wèn)器”一節(jié)中所述,它很靈活,如果實(shí)現(xiàn)了兩者,則不會(huì)為您生成方法)。



查看完整回答
反對(duì) 回復(fù) 2019-11-04
?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

正如其他人所說(shuō),通常,您使用@synthesize來(lái)讓編譯器為您生成getter和/或設(shè)置,如果要自己編寫(xiě),則使用@dynamic。

還沒(méi)有提到另一個(gè)微妙之處:@synthesize 允許您自己提供getter或setter的實(shí)現(xiàn)。如果您只想為一些額外的邏輯實(shí)現(xiàn)getter,但讓編譯器生成setter(對(duì)于對(duì)象,編寫(xiě)自己通常要復(fù)雜一點(diǎn)),這將很有用。

但是,如果您確實(shí)為@synthesize訪問(wèn)器編寫(xiě)了一個(gè)實(shí)現(xiàn),則該實(shí)現(xiàn)仍必須由實(shí)數(shù)字段來(lái)支持(例如,如果編寫(xiě),則-(int) getFoo();必須具有一個(gè)int foo;字段)。如果該值是由其他值產(chǎn)生的(例如,從其他字段計(jì)算得出),則必須使用@dynamic。



查看完整回答
反對(duì) 回復(fù) 2019-11-04
  • 3 回答
  • 0 關(guān)注
  • 338 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)