runtime-02-Swizzle

上一篇我們講過runtime中可以交換兩個方法的具體實現;利用swizzie就可以實現;什麼意思呢?廢話不多說,直接上代碼。

呢,廢話不多說,直接上代碼。

在開發中,圖片會提供IOS7版本的,IOS8版本的,但是我們不可能每加載一個圖片就去判斷是不是IOS7版本還是IOS8版本,這樣,我們就可以寫一個UIImage類的擴展,使得我們直接調用一個方法,不管是什麼IOS7還是IOS8讓方法去判斷,不用麻煩自己;如圖:


我們現在就用[UIImage imageWithName:name];代替[UIImage imageNamed:name];

然而當我們的軟件是以前的版本,全部都是用[UIImage imageNamed:name];要是現在一個一個改過來,太麻煩了。我們就可以用swizzie來讓imageWithName和imageNamed兩個方法交換;如圖








這樣兩個方法就交換了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章