關於object C中的ARC機制

2021-07-11 17:24:46 字數 586 閱讀 1010

關於arc與mrc機制的解釋見如下部落格:

關於arc機制的應用@autoreleasepool

指示符;

strong、weak:strong指示符指定該屬性對被賦值物件持有強引用,而weak指示符指定該屬性對被賦值物件持有弱引用。強引用是指只要改強引用指向被賦值的物件,那該物件就不會自動**,若引用的意思是,即使該弱引用指向被賦值的物件,該物件也有可能被**。

unsafe_unretained:這個指示符與weak指示符基本類似,對於只被unsafe_unretained指標指向的物件,該物件也有可能被**。與weak指標不同的是,當unsafe_unretained指標所引用的物件被**後,unsafe_unretained指標不會被賦值為nil。

在啟動arc機制時,使用strong、weak指示符將十分方便,如果程式不希望該屬性引用的物件被**,那就應該使用strong指示符,如果程式需要保證效能,避免記憶體溢位,則可以使用weak指示符。使用weak指示符時需要注意,當程式通過該weak屬性來訪問被引用的物件時,該物件可能已經被**了,對於宣告為weak的指標,指標指向的位址一旦被釋放,這些指標都將被賦值為nil,這樣就能有效的防止懸空指標,避免程式的記憶體溢位。

ObjectC中關於賦值的問題

是這樣的 examdetailvalue builddetailvalue nsdictionary dic import inte ce examdetailvalue nsobject property strong,nonatomic nsstring examid property stro...

關於object c的基本知識

簡介 發展歷史 3關於cocoa cocoa 是從1980年代由 next 開發的程式設計環境 nextstep 和 openstep 演變而來,這點可由其類別之名皆以 ns 字首 代表nextstep 看出端倪。蘋果電腦公司在1996年12月收購了next。開發 nextstep 和 openst...

Block在ARC和非ARC中的使用

1 block是事先封裝好的一段 快,在需要的時候呼叫block執行 block底層是指向結構體的指標,編譯器會將block的內部 生成c語言對應的函式 2 block預設是存放在棧中的 開發人員不需要管理記憶體 儲存在棧中的block不會對引用的物件進行retain 3 非arc 對block進行...