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));
複製**
所以, 不論person
和student
的編譯順序如何調換,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...
第六天學習
變數的作用域 區域性變數 在函式內部定義的變數,這個變數只能在函式內部使用,在全域性當中不能使用。使用就報錯了。全域性變數 在函式外部定義的變數,這個變數可以在全域性使用。但是我們一般不推薦使用全域性變數 因為可能會意外的修改掉變數的值。迫不得已不要用全域性變數 衝突處理原則 就近原則。而不是從上到...