亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Objective-C之成魔之路【18-復制對象】

發布時間:2020-04-07 03:25:58 來源:網絡 閱讀:176 作者:danielzzu 欄目:移動開發

郝萌主傾心貢獻,尊重作者的勞動成果,請勿轉載。

如果文章對您有所幫助,歡迎給作者捐贈,支持郝萌主,捐贈數額隨意,重在心意^_^ 

我要捐贈: 點擊捐贈

Cocos2d-X×××:點我傳送


將一個變量賦值給另一個對象僅僅創建另一個對這個對象的引用。

類似于Java中,賦值是一個引用。

參考C++或者C的指針來理解就容易了。這里的賦值其實就是指針地址賦值而已。


Foundation類實現了名為copy 和 mutableCopy的方法,可以使用這些方法創建對象的副本。

通過實現一個符合<NSCopying>協議(用于制作副本)的方法來完成此任務。


注意,產生一個對象的可變副本并不要求被復制的對象本身是可變的。同樣,可以創建可變對象的不可變副本。


淺復制和深復制:

mutableCopy方法復制數組時,在內存中為新的數組對象分配了空間,并且將單個元素復制到新數組中。

然后將原始數組中的每個元素復制到新位置意味著:僅將引用從一個數組元素復制到另一個數組元素。

這樣做的結果,就是兩個數組中的元素都指向內存中的同一個字符串。

若要為數組中的每個元素創建完全不同的副本,需要執行所謂的深復制。


實現<NSCopying>協議:

注意,如果想要區分可變副本和不可變副本,

還需要根據<NSMutableCoping>協議實現mutableCopyWithZone:方法。

如果兩個方法都實現,那么copyWithZone:應該返回不可變副本,

而mutableCopyWithZone:將返回可變副本。


屬性并沒有mutableCopy特性。

即使是可變的實例變量,也是使用copy特性,正如方法copyWithZone:的執行結果。

所以,按照約定會生成一個對象的不可變副本。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

邵东县| 澄城县| 偃师市| 兰考县| 新巴尔虎右旗| 武冈市| 和龙市| 延边| 福清市| 元谋县| 民丰县| 定兴县| 新巴尔虎左旗| 德江县| 赞皇县| 博野县| 广宗县| 开化县| 光山县| 铁岭市| 阿巴嘎旗| 明星| 陇川县| 沐川县| 吉林市| 涞水县| 陆川县| 太仆寺旗| 屯门区| 莱西市| 宁晋县| 巩留县| 平果县| 油尖旺区| 巨野县| 贡觉县| 常州市| 泗水县| 梅州市| 青龙| 托克托县|