小碼哥iOS學習筆記第六天 load方法

2021-09-11 15:34:07 字數 1170 閱讀 3823

void printmethodnamesofclass(class cls) 

// 釋放

free(methodlist);

// 列印方法名

nslog(@"%@ %@", cls, methodnames);

}複製**

[person load];

[person test];

等價於objc_msgsend([person class], @selector(load));

objc_msgsend([person class], @selector(test));

複製**

所以, 不論personstudent的編譯順序如何調換,person+(void)load方法會比student+(void)load方法呼叫早\

總結:

category中有load方法,load方法會在runtime載入類的時候呼叫

類的load方法呼叫早於category中的load方法, 呼叫子類的load方法之前, 會先呼叫父類的load方法

沒有關係的類會根據編譯順序呼叫load方法,category會根據編譯順序呼叫load方法

所有的類和分類,load方法只會呼叫一次

objc_msgsend([student class], @selector(load));

複製**

總結:load方法可以繼承, 但是一般情況下不會主動呼叫load方法, 都是讓系統自動呼叫

iOS學習筆記 第六天

今日學習概述 今天主要進行ios開發中經常被用到的uiscrollview控制項的學習,包括其基本使用 常見屬性 的注意點等。什麼是uiscrollview 利用uiscrollview顯示一張大 1.建立乙個uiscrollview uiscrollview scrollview uiscroll...

第六天筆記

01 遍歷 items for item in my dict.items print item print key s,value s item 0 item 1 注意 如果迴圈遍歷字典的時候 你想需要字典的key和value 格式 for key位置,value位置 in my dict.ite...

第六天學習

變數的作用域 區域性變數 在函式內部定義的變數,這個變數只能在函式內部使用,在全域性當中不能使用。使用就報錯了。全域性變數 在函式外部定義的變數,這個變數可以在全域性使用。但是我們一般不推薦使用全域性變數 因為可能會意外的修改掉變數的值。迫不得已不要用全域性變數 衝突處理原則 就近原則。而不是從上到...