iOS之深入解析分類Category的底層原理

      網(wǎng)友投稿 744 2022-05-30

      Objective-C 中的 Category 是對裝飾模式的一種具體實現(xiàn)。它的主要作用是在不改變原有類的前提下,動態(tài)地給這個類添加一些方法。

      分類 Category 可以拓展類的屬性、方法、協(xié)議等信息。

      把一個類拆分成多個模塊,如下,需要把 Person 類分成 A 和 B 模塊,則分為 Person+A 和 Person+B 模塊,這就用到 Category:

      根據(jù)蘋果官方文檔對 Category 的描述,它的使用場景主要有三個:

      給現(xiàn)有的類添加方法;

      iOS之深入解析分類Category的底層原理

      將一個類的實現(xiàn)拆分成多個獨立的源文件;

      聲明私有的方法。

      其中,第一個是最典型的使用場景,應用最廣泛。

      使用分類需要注意:

      分類是用于給原有類添加方法的,因為分類的結(jié)構(gòu)體指針中,沒有屬性列表,所以原則上講他只能添加方法,不能添加屬性(成員變量),實際上他是可以通過其他方式來添加屬性,比如 runtime。但是使用 runtime 也只能實現(xiàn) setter 和 getter 方法,而沒有_成員變量,如果調(diào)用_成員變量,程序還是會報錯。

      如果要使用

      iOS

      版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。

      上一篇:模擬量輸入技術(shù)
      下一篇:nginx多域名配置
      相關(guān)文章
      亚洲丶国产丶欧美一区二区三区| 亚洲视频免费在线播放| 亚洲av女电影网| 亚洲无码视频在线| 激情无码亚洲一区二区三区| 亚洲六月丁香婷婷综合| 丁香婷婷亚洲六月综合色| 亚洲精品中文字幕麻豆| 亚洲高清不卡视频| 婷婷亚洲综合五月天小说| 亚洲国产精品婷婷久久| 亚洲AV区无码字幕中文色 | 亚洲色WWW成人永久网址| 伊人久久亚洲综合| 一本色道久久综合亚洲精品| 亚洲一区日韩高清中文字幕亚洲| 亚洲精品动漫人成3d在线| 国产亚洲色视频在线| 亚洲精品无码午夜福利中文字幕| 亚洲精品美女久久777777| 精品亚洲综合在线第一区| 久久亚洲AV午夜福利精品一区 | 久久精品国产亚洲综合色| 亚洲国产精品无码专区影院| 久久精品国产亚洲av成人| 久久久久无码精品亚洲日韩 | 亚洲AV无码专区国产乱码4SE| 亚洲AV本道一区二区三区四区| 亚洲av无码国产精品夜色午夜| 亚洲日本一区二区| 亚洲国产精品综合一区在线| 亚洲日本久久久午夜精品| 亚洲精品美女久久7777777 | 亚洲国产人成精品| 亚洲综合在线另类色区奇米| 亚洲AV无码成人精品区天堂| 久久av无码专区亚洲av桃花岛| 亚洲中文无码a∨在线观看| 亚洲色精品三区二区一区| 亚洲AV网站在线观看| 综合亚洲伊人午夜网 |