一,你可以使用不同的方法復制對象。大多數對象都引用(即指向)其它對象。
二,淺層復制,不復制引用對象,新復制的對象只指向現有的引用對象。NSArray類的copy方法是淺層復制。當復制一個NSArray類的對象時,你復制的對象只復制指向引用對象的指針,而不復制引用對象本身。如果復制一個NSArray類的對象,該對象包含5個NSString類的對象,則你最終得到的是5個可供程序使用的字符串對象,而不是10個字符串對象。如果那樣的話,每個新對象最終獲得一個指向一個字符串對象的指針。
三,深層復制,將復制所有的引用對象。如果NSArray的copy方法是深層復制,則在復制操作完成以后你將得到10個可用的字符串對象。
四,你可以根據特定的類的需要,自由混搭深層復制和淺層復制你的給合對象。
參考資料:《Objective-C基礎》
新聞熱點
疑難解答