歡迎使用CSDN markdown編輯器

2021-07-12 00:54:08 字數 1051 閱讀 6343

oc中copy的使用

首先,什麼是copy?

copy的字面意思是「複製」、「拷貝」,是乙個產生副本的過程。

2、修改副本檔案的內容,不會影響原始檔。

oc中copy的作用是:利用乙個源物件產生乙個副本物件

特點:1、修改源物件的屬性和行為,不會影響副本物件;

2、修改副本物件的屬性和行為,不會影響源物件。

如何使用copy功能?

乙個物件可以呼叫copy或mutablecopy方法來建立乙個副本物件。

1、copy:建立的時不可變副本(如nsstring、nsarray、nsdictionary)。

2、mutablecopy:建立的可變副本(如nsmutablestring、nsmutablearray、nsmutabledictionary)。

使用copy功能的前提:

1、copy:需要遵守nscopying協議,實現copywithzone:方法。

@protocol nscopying

nslog(@」srcstr=%@, copystr=%@」, srcstr, copystr);

}/**

nsmutablestring呼叫copy : 深複製

*/ void mutablestringcopy()

@property記憶體管理策略的選擇

1.非arc

1> copy : 只用於nsstring\block;

2> retain : 除nsstring\block以外的oc物件;

3> assign : 基本資料型別、列舉、結構體(非oc物件),當2個物件相互引用,一端用retain,一端 用assign。

2.arc

1> copy : 只用於nsstring\block;

2> strong : 除nsstring\block以外的oc物件;

3> weak : 當2個物件相互引用,一端用strong,一端用weak;

4> assgin : 基本資料型別、列舉、結構體(非oc物件)。

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...