? ? 從Xcode4.4以后apple對@property進行了一個增強, 以后只要利用一個@property就可以同時生成setter/getter方法的聲明和實現
? ? 沒有告訴@property要將傳入的參數賦值給誰, 默認@property會將傳入的屬性賦值給_開頭的成員變量
? ? @property有一個弊端: 它只會生成最簡單的getter/setter方法的聲明和實現, 并不會對傳入的數據進行過濾
? ? 如果想對傳入的數據進行過濾, 那么我們就必須重寫getter/setter方法 ?
? ? 如果不想對傳入的數據進行過濾, 僅僅是提供一個方法給外界操作成員變量, 那么就可以使用@property
? ? 如果利用@property來生成getter/setter方法, 那么我們可以不寫成員變量, 系統會自動給我們生成一個_開頭的成員變量
? ? ? ? ? ? ? ? ? ? ? ? ?// 如果重寫了setter方法, 那么property就只會生成getter方法
? ? ? ? ? ? ? ? ? ? ? ? ?// 如果重寫了getter方法, 那么property就只會生成setter方法
注意: @property自動幫我們生成的成員變量是一個私有的成員變量, 也就是說是在.m文件中生成的, 而不是在.h文件中生成的
// age? _age;
? ? ? ? ? ? ? ? ? ? ? ? ?// 如果同時重寫了getter/setter方法, 那么property就不會自動幫我們生成私有的成員變量
--------------------- 可愛的分割線 ---------------------
注意:
// 如果重寫了setter方法, 那么property就只會生成getter方法
// 如果重寫了getter方法, 那么property就只會生成setter方法
// 如果同時重寫了getter/setter方法, 那么property就不會自動幫我們生成私有的成員變量