分類:Category
基本使用:
使用場合(作用):在不改變原來類的模型的基礎上給類擴充新的方法
關于分類我們如何創(chuàng)建分類:打開Xcode ? 然后建立一個類 ? 之后如圖:
點擊我所選中的那個圖標
下一步是:
在中間那個選擇類型就是我們的分類
如果我們想給那個類創(chuàng)建分類就在第三行寫上我們類名
如:
我是給我們高俊這個類創(chuàng)建了一個分類 而分類的名稱就是:高俊2
注意的是:我們不要忘記在main函數(shù)前面寫上分類的聲明
分類可以封裝不同功能的方法(以后我們的項目大的時候就需要分類封裝了這樣會使我們 的代碼更加清晰)一般是以模塊名命名的
注意:分類不能擴充成員變量
類的應用:格式:
下面我給的這幾張圖片就是關于我們分類的應用,這里面就有關于我們分類的格式:
分類的聲明:
分類的實現(xiàn):
分類在我們的main函數(shù)的調用:
這個代碼的作用就是找出一串字符串里面的所有的數(shù)字
類的深入研究
類的本質:
1、其實類也是一個對象
2、我們所說的類其實就是Class類型的對象
3、Class創(chuàng)建Person類對象(注意是類對象而不是對象、Class類型的對象)
利用Person類對象創(chuàng)建Person類型的對象
類對象的使用
一個類在儲存空間中只有一個類對象,但是可以有無數(shù)個類型的對象
類的加載與初始化
先加載父類再加載子類
其中有一個類方法:
當程序運行的時候,就會加載一次項目中的所有的類與分類。類一旦加載完畢就會調用+load方法
同時當我們第一次調用這個方法的時候就會另外調用+initialize方法
而兩者中間的作用就是 :
description
減號開頭的description方法決定了實例對象的輸出結果
而我們一加號開頭的description方法決定的是我們類對象的輸出結果
當我們想打印我們對象的信息的時候就可以利用這個方法。當然打印結果就是
<類名:內存地址>
而如何是我們的-(void)description方法返回的是我們對象的屬性:就是利用重寫
NSLog的輸出補充:
SEL
基本使用
以前我們說的每一個方法都在類里面有一定的儲存空間,現(xiàn)在我們再說的細致一點
其實每一個方法地址都對應了一個SEL數(shù)據(jù)
當我們調用我們的test方法時:
1、他是先把我們的test方法包裝成SEL數(shù)據(jù)
2、再拿著SEL到我們的類中找到對應的方法地址
3、根據(jù)方法地址調用對應的方法
開發(fā)中我們知道這個SEL的價值:
當我們只知道一個方法名的字符串的時候,我們可以通過以下方法進行調用方法:
其他一些關于我們的SEL的知識: