如何理解OC中的copy和mutableCopy,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
為前郭等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及前郭網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、前郭網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!OC中,復(fù)制有兩種: copy 和 mutableCopy。顧名思義,是生成不可變或可變的對(duì)象。關(guān)于復(fù)制出來(lái)的到底是新對(duì)象還是原來(lái)對(duì)象,請(qǐng)參考一下代碼:
#importint main(int argc, char *argv[]) { @autoreleasepool { NSString *s1 = @"haha"; NSString *s2 = [s1 copy]; NSMutableString *s3 = [s1 mutableCopy]; NSString *s4 = [s3 copy]; NSLog(@"s1 addr = %p", s1); NSLog(@"s2 addr = %p", s2); NSLog(@"s3 addr = %p", s3); NSLog(@"s4 addr = %p", s4); } }
輸出的結(jié)果為:
s1 addr = 0x10a2e6030
s2 addr = 0x10a2e6030
s3 addr = 0x7fd0b940c6e0
s4 addr = 0x6168616845
由此可見,對(duì)不可變對(duì)象進(jìn)行copy操作,不會(huì)產(chǎn)生新的對(duì)象,而是指向原來(lái)對(duì)象。其他的都是會(huì)生成一個(gè)新的復(fù)制品
copy | mutableCopy | |
可變對(duì)象 | 新對(duì)象 | 新對(duì)象 |
不可變對(duì)象 | 原來(lái)對(duì)象 | 新對(duì)象 |
看完上述內(nèi)容,你們掌握如何理解OC中的copy和mutableCopy的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。