天天看點

@property (assign,copy,retain)

@property (copy, assign) NSString *title; 

什麼是 之間的差別? 

assign: 簡單指派,不更改索引計數(Reference Counting)。 

copy: 建立一個索引計數為1的對象,然後釋放舊對象 

retain:釋放舊的對象,将舊對象的值賦予輸入對象,再提高輸入對象的索引計數為1 

retain的實際文法為: 

- (void)setName:(NSString *)newName { 

    if (name != newName) { 

       [name release]; 

       name = [newName retain]; 

       // name’s retain count has been bumped up by 1 

    } 

說了那麼麻煩,其實接下來的話最重要: 

?如果你不懂怎麼使用他們,那麼就這樣 -> 

使用assign: 對基礎資料類型 (NSInteger,CGFloat)和C資料類型(int, float, double, char, 等等) 

使用copy: 對NSString 

使用retain: 對其他NSObject和其子類

轉載:http://blog.csdn.net/bl1988530/article/details/6460279