Objective-C type encodings

屏幕快照 2016-09-22 下午2.22.53.png

具體請參照官方文檔

使用場景

1.iOS 運行時在動態添加方法時會用到:
class_addMethod(<#__unsafe_unretained Class cls#>, <#SEL name#>, <#IMP imp#>, <#const char *types#>)

參數1 class
參數2 方法體
參數3 IMP 函數指針
參數4 types 函數的定義

實例
class_addMethod([self class], sel, (IMP)changeBackgroud, "v@:@");
class_addMethod([self class], sel, class_getMethodImplementation([self class], @selector(abc)), "v@:");

"v@:@"的具體含義
v 代表返回值(void)參照圖表設置想返回的類型
@ 代表object 這個是receiver 必傳
:代表SEL 這個是_cmd 必傳
@ 代表參數 這個代碼參數 可選

void changeBackgroud(id self,SEL _cmd,id value){}

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉至元數據結尾創建: 董瀟偉,最新修改于: 十二月 23, 2016 轉至元數據起始第一章:isa和Class一....
    40c0490e5268閱讀 1,762評論 0 9
  • 我們常常會聽說 Objective-C 是一門動態語言,那么這個「動態」表現在哪呢?我想最主要的表現就是 Obje...
    Ethan_Struggle閱讀 2,231評論 0 7
  • 文中的實驗代碼我放在了這個項目中。 以下內容是我通過整理[這篇博客] (http://yulingtianxia....
    茗涙閱讀 944評論 0 6
  • 轉載:http://yulingtianxia.com/blog/2014/11/05/objective-c-r...
    F麥子閱讀 760評論 0 2
  • 本文詳細整理了 Cocoa 的 Runtime 系統的知識,它使得 Objective-C 如虎添翼,具備了靈活的...
    lylaut閱讀 822評論 0 4