上一篇我們講過runtime中可以交換兩個方法的具體實現;利用swizzie就可以實現;什麼意思呢?廢話不多說,直接上代碼。
呢,廢話不多說,直接上代碼。
在開發中,圖片會提供IOS7版本的,IOS8版本的,但是我們不可能每加載一個圖片就去判斷是不是IOS7版本還是IOS8版本,這樣,我們就可以寫一個UIImage類的擴展,使得我們直接調用一個方法,不管是什麼IOS7還是IOS8讓方法去判斷,不用麻煩自己;如圖:
我們現在就用[UIImage imageWithName:name];代替[UIImage imageNamed:name];
然而當我們的軟件是以前的版本,全部都是用[UIImage imageNamed:name];要是現在一個一個改過來,太麻煩了。我們就可以用swizzie來讓imageWithName和imageNamed兩個方法交換;如圖
這樣兩個方法就交換了。