iOS解耦方案

解耦方案是針對AppDelegate,通過消息的轉(zhuǎn)發(fā)、GCDMulticastDelegate代理的一對多模式來實(shí)現(xiàn)解耦。以下是核心代碼:

消息轉(zhuǎn)發(fā):

+ (BOOL)resolveInstanceMethod:(SEL)sel{

? ? return NO;

}

- (id)forwardingTargetForSelector:(SEL)aSelector{

? ? if([selfrespondsToSelector:aSelector]) {

? ? ? ? return self;

? ? }

? ? return self.multicastDelegate;

}

添加delegate:

- (void)addImplementationArray:(NSArray *)targets

?? ? ? ? ? ? ? ? ? ? ? ? queue:(dispatch_queue_t)queue;

- (void)addImplementationQueueTarget:(id)target

?? ? ? ? ? ? ? ? ? ? ? ? ? ? ? queue:(dispatch_queue_t)queue

需要使用AppDelegate方法的類,需要實(shí)現(xiàn)UIApplicationDelegate協(xié)議。

https://github.com/PangDu/PDAppDelegate

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)至元數(shù)據(jù)結(jié)尾創(chuàng)建: 董瀟偉,最新修改于: 十二月 23, 2016 轉(zhuǎn)至元數(shù)據(jù)起始第一章:isa和Class一....
    40c0490e5268閱讀 2,069評論 0 9
  • 設(shè)計(jì)模式是什么? 你知道哪些設(shè)計(jì)模式,并簡要敘述? 設(shè)計(jì)模式是一種編碼經(jīng)驗(yàn),就是用比較成熟的邏輯去處理某一種類型的...
    卑微的戲子閱讀 684評論 0 1
  • runtime 和 runloop 作為一個程序員進(jìn)階是必須的,也是非常重要的, 在面試過程中是經(jīng)常會被問到的, ...
    SOI閱讀 22,025評論 3 63
  • 1.設(shè)計(jì)模式是什么? 你知道哪些設(shè)計(jì)模式,并簡要敘述? 設(shè)計(jì)模式是一種編碼經(jīng)驗(yàn),就是用比較成熟的邏輯去處理某一種類...
    司馬DE晴空閱讀 1,478評論 0 7
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴(yán)謹(jǐn) 對...
    cosWriter閱讀 11,673評論 1 32

友情鏈接更多精彩內(nèi)容