中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何理解OC中的copy和mutableCopy

發布時間:2021-11-25 15:50:04 來源:億速云 閱讀:96 作者:柒染 欄目:編程語言

如何理解OC中的copy和mutableCopy,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

OC中,復制有兩種: copy 和 mutableCopy。顧名思義,是生成不可變或可變的對象。關于復制出來的到底是新對象還是原來對象,請參考一下代碼:

#import <Foundation/Foundation.h>

int 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);
	}
}

輸出的結果為:

s1 addr = 0x10a2e6030

s2 addr = 0x10a2e6030

s3 addr = 0x7fd0b940c6e0

s4 addr = 0x6168616845

由此可見,對不可變對象進行copy操作,不會產生新的對象,而是指向原來對象。其他的都是會生成一個新的復制品


copymutableCopy
可變對象
新對象新對象
不可變對象原來對象新對象

看完上述內容,你們掌握如何理解OC中的copy和mutableCopy的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

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

AI

东台市| 安阳县| 台湾省| 彝良县| 民权县| 德钦县| 博湖县| 香河县| 林州市| 开鲁县| 灯塔市| 天水市| 灵丘县| 陇西县| 秭归县| 喀喇沁旗| 青铜峡市| 苍溪县| 蕲春县| 手机| 新宁县| 寻甸| 海宁市| 蒙自县| 绍兴县| 城固县| 凌海市| 金乡县| 红河县| 康定县| 金川县| 色达县| 湘潭县| 浦县| 阳东县| 沾益县| 察雅县| 河池市| 璧山县| 星子县| 阳曲县|