iOS之深入解析分类Category的底层原理
生活随笔
收集整理的這篇文章主要介紹了
iOS之深入解析分类Category的底层原理
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Category 簡介
- Objective-C 中的 Category 是對裝飾模式的一種具體實現。它的主要作用是在不改變原有類的前提下,動態地給這個類添加一些方法。
- 分類 Category 可以拓展類的屬性、方法、協議等信息。
- 把一個類拆分成多個模塊,如下,需要把 Person 類分成 A 和 B 模塊,則分為 Person+A 和 Person+B 模塊,這就用到 Category:
- 根據蘋果官方文檔對 Category 的描述,它的使用場景主要有三個:
-
- 給現有的類添加方法;
-
- 將一個類的實現拆分成多個獨立的源文件;
-
- 聲明私有的方法。
- 其中,第一個是最典型的使用場景,應用最廣泛。
- 使用分類需要注意:
-
- 分類是用于給原有類添加方法的,因為分類的結構體指針中,沒有屬性列表,所以原則上講他只能添加方法,不能添加屬性(成員變量),實際上他是可以通過其他方式來添加屬性,比如 runtime。但是使用 runtime 也只能實現 setter 和 getter 方法,而沒有_成員變量,如果調用_成員變量,程序還是會報錯。
-
- 如果要使用
總結
以上是生活随笔為你收集整理的iOS之深入解析分类Category的底层原理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS之深入解析Xcode编译运行的原理
- 下一篇: iOS之深入解析bitcode的功能与应