真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

ios開發(fā)copy字符串 ios字符串為什么用copy

iOS中assign,copy,retain之間的區(qū)別以及weak和strong的區(qū)別

1、也就是說,retain 是指針拷貝,copy 是內容拷貝。strong,weak 用來修飾屬性。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供湖口企業(yè)網站建設,專注與成都網站制作、網站建設、外貿網站建設、H5響應式網站、小程序制作等業(yè)務。10年已為湖口眾多企業(yè)、政府機構等服務。創(chuàng)新互聯(lián)專業(yè)網站建設公司優(yōu)惠進行中。

2、copy是創(chuàng)建一個新對象,retain是創(chuàng)建一個指針,引用對象計數(shù)加1。Copy屬性表示兩個對象內容相同,新的對象retain為1 ,與舊有對象的引用計數(shù)無關,舊有對象沒有變化。copy減少對象對上下文的依賴。

3、copy與strong類似。不同之處是strong的復制是多個指針指向同一個地址,而copy的復制每次會在內存中拷貝一份對象,指針指向不同地址。copy一般用在修飾有可變對應類型的不可變對象上,如NSString, NSArray, NSDictionary。

IOS中Retain和Copy的區(qū)別

1、同,這個對象的 retain 值+1 assign 地址還是0x1111,內容也還是“ABC”。也就是說,retain 是指針拷貝,copy 是內容拷貝。strong,weak 用來修飾屬性。

2、也就是說,retain是指針拷貝,copy是內容拷貝。

3、retain:引用計數(shù)器+1,指向同一地址。結果和淺拷貝一樣,僅僅是使得對象的引用計數(shù)器自增copy:對不可變對象等同與retain,指針拷貝,引用計數(shù)器+1。對可變對象執(zhí)行深拷貝,等同mutableCopy,內容拷貝。

iOS深拷貝與淺拷貝(附demo)

學習資料 首先iOS拷貝可以區(qū)分為 深拷貝 和 淺拷貝 。 淺拷貝 :拷貝了對象的指針,可以理解為給一條狗加了一條繩子。 深拷貝 :直接拷貝對象到另外一塊內存地址中,可以理解為新買了一條狗。

淺拷貝就是拷貝指向原來對象的指針,使原對象的引用計數(shù)+1,可以理解為創(chuàng)建了一個指向原對象的新指針而已,并沒有創(chuàng)建一個全新的對象。

用copy修飾的屬性,在setter時,會先調用傳入對象的copy方法得到一份拷貝后再retain,但不同的對象調用copy方法,可能是深拷貝也可能是淺拷貝,如果是淺拷貝,則兩個指針指向一個內存,舊對象引用計數(shù)會加1。

深拷貝 :內容拷貝,拷貝數(shù)據(jù)到一塊新內存區(qū)域,指針指向拷貝的數(shù)據(jù)區(qū) strong: 淺拷貝,也就是指針引用,很明顯的。我們來測試一下 運行結果如下,實際對象是一致的。


網頁標題:ios開發(fā)copy字符串 ios字符串為什么用copy
轉載來于:http://weahome.cn/article/dgdcees.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部