你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 什麼情況下用retain和copy

什麼情況下用retain和copy

編輯:IOS開發綜合
copy: 建立一個索引計數為1的對象,然後釋放舊對象 retain:釋放舊的對象,將舊對象的值賦予輸入對象,再提高輸入對象的索引計數為1 那上面的是什麼意思呢? Copy其實是建立了一個相同的對象,而retain不是: 比如一個NSArray對象,地址為11111,內容為xx Copy到另外一個NSArray之 後,地址為22222,內容相同,新的對象retain為1, 舊有對象沒有變化 retain到另外一個NSArray之 後,地址相同(建立一個指針,指針拷貝),內容當然相同,這個對象的retain值+1 也就是說,retain是指針拷貝,copy是內容拷貝。 什麼情況下用assign,什麼情況下用retain,什麼情況下用copy? assign:凡是不是擁有的關系,應該使用assign,而不是retain或copy。 retain或copy:當類擁有mutable子類時,你應該使用copy,而不是retain。 例如:NSAArray,NSSet,NSDictionary,NSData的,NSCharacterSet,NSIndexSet,NSString。  
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved