SEL數據類型的簡單知識點——和方法有關

(1)類裏面的方法都是被轉換成SEL變量進行存儲的。


(2)放類聲明一個對象,對象調用方法的時候,系統會被這個方法轉換成SEL,然後拿這個SEL到類方法中去匹配。


(3)我們可以自己手動把方法轉換成SEL,然後用這個SEL去查找方法。

[objc] view plaincopy在CODE上查看代碼片派生到我的代碼片
  1. #import <Foundation/Foundation.h>  
  2. #import "Person.h"  
  3.   
  4. int main(int argc, const charchar * argv[]) {  
  5.   
  6.     @autoreleasepool {  
  7.         Person *p1=[[Person alloc]init];  
  8.         //正常方法,需要把eat轉換成SEL,然後去匹配查找  
  9.         [p1 eat];  
  10.         //利用SEL,先我們自己把eat轉換成SEL,然後用這個SEL去找  
  11.         SEL aaa=@selector(eat);  
  12.         [p1 performSelector:aaa];  
  13.         //合併寫成  
  14.         [p1 performSelector:@selector(eat)];  
  15.     }  
  16.     return 0;  
  17. }  
發佈了18 篇原創文章 · 獲贊 1 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章