成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

OC類的介紹-創(chuàng)新互聯(lián)

類的本質(zhì)OC類的介紹
 1 類的本質(zhì)其實(shí)也是一個(gè)對(duì)象(類對(duì)象)
 2 
 3 類對(duì)象
 4 類對(duì)象再程序運(yùn)行時(shí)一直存在
 5 類對(duì)象是一種數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)類的基本信息:類大小,類名稱,類的版本以及消息與函數(shù)的映射表等
 6 類對(duì)象所保存的信息在程序編譯時(shí)確定,在第一次使用該類的時(shí)候加載到內(nèi)存中
 7 類對(duì)象代表類,class代表類對(duì)象,類方法屬于類對(duì)象
 8 如果消息的接受者是類名,則類名表示類對(duì)象
 9 運(yùn)行時(shí),所有類的實(shí)例都由類對(duì)象生產(chǎn),類對(duì)象會(huì)把實(shí)例的isa地值修改成自己的地址,每個(gè)實(shí)例的isa都指向該實(shí)例的類對(duì)象,
10 從類對(duì)象里可以知道父類信息、可以響應(yīng)的方法等
11 類對(duì)象只能使用類方法,不能用實(shí)例方法
12 
13 例:
14   Person *p = [Person new];
15   p 實(shí)例對(duì)象
16   Person 也是一個(gè)對(duì)象(類對(duì)象),是Class類型

類對(duì)象的獲取

10年建站經(jīng)驗(yàn), 成都網(wǎng)站制作、成都網(wǎng)站建設(shè)客戶的見證與正確選擇。成都創(chuàng)新互聯(lián)提供完善的營(yíng)銷型網(wǎng)頁建站明細(xì)報(bào)價(jià)表。后期開發(fā)更加便捷高效,我們致力于追求更美、更快、更規(guī)范。
 1 1)通過實(shí)例對(duì)象獲取
 2     Dog  *dog =[Dog new];
 3     Dog *d2 = [Dog new];
 4 
 5  //第一種方法獲取類對(duì)象 6     Class c =[dog class];
 7     Clsss c2 =[d2 class];
 8 
 9     NSLog(@"%p",c);
10     NSLog(@"%p",c2);
11 
12 2)通過類名獲取(類名其實(shí)就是類對(duì)象)
13 
14      Class c3=[Dog class];
15      NSLog(@"%p",c3);

類對(duì)象的使用

 1 原來使用類名可以做哪些事情?
 2     創(chuàng)建對(duì)象
 3     [Person new];
 4     調(diào)用類方法
 5     [Person test];//test是類方法 6 
 7  Person *p =[Person new];
 8   
 9  
10 
11  c1---->Person
12 
13   類對(duì)象的使用
14   Class c1 =[p class];  //Person15 1)創(chuàng)建實(shí)例對(duì)象
16   Person *p1= [c1 new];
17 2)調(diào)用類方法
18  [p test]; 調(diào)用的是實(shí)例方法 -動(dòng)態(tài)的
19    [c1 test]調(diào)用的是類方法 +靜態(tài)的

SEL類型

 1 SEL:全稱selector表示方法的存儲(chǔ)位置
 2 
 3 Person *p =[[Person allco]init];
 4 [p test];
 5 
 6 尋找方法的過程:
 7 1)首先把test這個(gè)方法名包裝成sel類型的數(shù)據(jù);
 8 2)根據(jù)SEL數(shù)據(jù)找到對(duì)應(yīng)的方法地址;
 9 3)根據(jù)方法地址調(diào)用相應(yīng)的方法
10 4)注意:在這個(gè)操作過程中有緩存,第一次找的時(shí)候是一個(gè)一個(gè)的找,非常耗性能,之后再用到的時(shí)候就直接使用
11 
12 關(guān)于_cmd:每個(gè)方法的內(nèi)部都有一個(gè)_cmd,代表著當(dāng)前方法
13 
14 SEL其實(shí)是對(duì)方法的一種包裝,將方法包裝成一個(gè)SEL類型的數(shù)據(jù),去尋找對(duì)應(yīng)的方法地址,找到方法地址就可以調(diào)用方法.這些都是運(yùn)行時(shí)特征,發(fā)消息就是發(fā)送SEL,然后根據(jù)SEL找到地址,調(diào)用方法
15   //手動(dòng)的把eat方法包裝成SEL類型16   SEL s1 =@selector(eat);
17   //通過s1去調(diào)用了18   [p2 perfomSelector :s1];

網(wǎng)站名稱:OC類的介紹-創(chuàng)新互聯(lián)
地址分享:http://jinyejixie.com/article20/icpco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站維護(hù)、網(wǎng)站排名、全網(wǎng)營(yíng)銷推廣微信小程序、品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
广州市| 奈曼旗| 呼图壁县| 呼伦贝尔市| 龙江县| 德化县| 许昌市| 荃湾区| 贵德县| 江口县| 新余市| 芷江| SHOW| 垫江县| 民权县| 舒兰市| 喀什市| 崇义县| 白玉县| 潜山县| 三原县| 承德市| 武汉市| 巴青县| 隆林| 平安县| 怀来县| 宁波市| 来凤县| 北海市| 永昌县| 洛扎县| 八宿县| 汶川县| 电白县| 宁德市| 沁源县| 晋宁县| 鄄城县| 邮箱| 湟中县|