寫乙個@property編譯器自動
1)生成私有屬性,(屬性型別和@property屬性一致,屬性名前自動加乙個下劃線「_」)
2)生成getter setter的宣告
3)生成getter setter的實現
繼承:父類的@property可以被子類繼承,@property生成的屬性是私有的,在子類中無法直接訪問,可以通過getter setter來訪問
@property引數
4)與生成getter、 setter方法名相關的: getter 、setter
5)與強弱指標型別有關的:strong 、 weak
區別:atomic 、 nonatomic:
atomic預設值,生成setter方法的**會被加上一把執行緒安全鎖,安全、效率低下;
nonatomic在生成setter方法的**不會加執行緒安全鎖,不安全、效率高;
assign、retain(mrc)、copy :
assign:用於基本資料型別、非oc物件,setter方法直接賦值,不更改引用計數
retain:setter方法實現是標準的mrc記憶體管理**,先判斷新舊物件是否是同乙個物件,如果不是,release舊的retain新的物件,引用計數+1
-(void)setcar:(int)car{
if(_car ! = car)
{ [_car release];
_car = [car retain];
注意:retain引數只是生成的標準的setter方法,不會自動的在dealloc中生成release的**,所以要手動的重寫dealloc方法,生成release的**
copy: 拷貝特性,setter方法將release舊值,copy新值,傳入的物件是在記憶體中拷貝乙份,兩個指標指向不同的記憶體位址。
retain和copy的區別就是:copy其實是建立了乙個相同的物件,引用計數為1,而retain只是儲存其物件,並且其計數值+1。retain是指標拷貝,copy是內容拷貝。
readonly 、readwrite
readonly: 只生成getter方法,不會生成setter方法
readwrite:預設值,同時生成getter、setter
getter 、setter
通過getter=方法名、setter=方法名修改@property生成的getter 、setter方法的名字
jQuery中prop的用法
新增並移除名為 color 的屬性 button click function prop 方法設定或返回被選元素的屬性和值。當該方法用於返回屬性值時,則返回第乙個匹配元素的值。當該方法用於設定屬性值時,則為匹配元素集合設定乙個或多個屬性 值對。注意 prop 方法應該用於檢索屬性值,例如 dom 屬...
jQuery中prop的用法
新增並移除名為 color 的屬性 當該方法用於返回屬性值時,則返回第乙個匹配元素的值。當該方法用於設定屬性值時,則為匹配元素集合設定乙個或多個屬性 值對。注意 prop 方法應該用於檢索屬性值,例如 dom 屬性 如 selectedindex,tagname,nodename,nodetype,...
vue元件中prop屬性
所有的 prop 都使得其父子 prop 之間形成了乙個單向下行繫結 父級 prop 的更新會向下流動到子元件中,但是反過來則不行。每次父級元件發生更新時,子元件中所有的 prop 都將會重新整理為最新的值。這意味著你不應該在乙個子元件內部改變 prop。在元件中修改 prop 傳遞過來的資料 vu...