????????前提:使用這兩個方法都需要實現(xiàn)NSCopying 或者NSMutableCopying協(xié)議菩暗。否則會crash。
? ? ? ? copy與mutableCopy區(qū)別:
? ? ? ? 1)無論是對可變對象的①容器類(NSMutableArray、NSMutableDictionary...)或者②非容器類(NSMutableString..)/不可變對象的③容器類(NSArray趾牧、NSDictionary...)或者④非容器類(NSString...) 進行copy操作之后得到的都是不可變對象故黑,進行mutableCopy得到的是可變對象。
? ? ? ? 2)對②進行copy和mutableCopy遣臼,實質都是內容拷貝(深拷貝)性置。
? ? ? ? ? ? ? ?對④進行copy是指針拷貝(淺拷貝),進行mutableCopy是內容拷貝(深拷貝)揍堰。
? ? ? ? 3)對①進行copy和mutableCopy,實質都是內容拷貝(深拷貝)鹏浅。
? ? ? ? ? ? ? ? 對③進行copy是指針拷貝(淺拷貝)嗅义,進行mutableCopy是內容拷貝(深拷貝)。
? ? ? ? 詳細文章來源iOS中幾個常用協(xié)議(一)NSCopying/NSMutableCopying) - 簡書