開始學習ios的時候,就對一些objc的語法不理解,就比如@PRoperty和@synthesize,之前都是記住然后照著用,但是寫的代碼多了,對objc和ios有了一些理解,再加上最近用MRC,所以在各種內存檢測和變量使用的過程中,探討了一下,最終對它們的作用有了一定了解。
一般@property和@synthesize是搭配使用的,用@property聲明的變量,系統默認給他們做了setter和getter處理。
property可以聲明屬性的各種屬性。
1.聲明屬性的訪問方法:
2.聲明屬性寫操作權限:
聲明此屬性為只讀屬性,只能訪問此屬性對應的獲取方法(getter),與readwrite互斥。
3.聲明寫方法的實現
4.訪問方法的原子性
關于原子性,大家可以查一下操作系統的原子性操作。
@synthesize 中可以定義 與變量名不相同的getter和setter的命名,籍此來保護變量不會被不恰當的訪問。
功能:讓編譯好器自動編寫一個與數據成員同名的方法聲明來省去讀寫方法的聲明。
新聞熱點
疑難解答