0
我有一個自定義代理人,並且我想讓2個班級響應其事件。我如何將它分配給兩個類。如何將代理人分配給多個班級
即:
viewController.delegate = firstClass && self;
我有一個自定義代理人,並且我想讓2個班級響應其事件。我如何將它分配給兩個類。如何將代理人分配給多個班級
即:
viewController.delegate = firstClass && self;
如果您需要使用NSNotificationCenter調用多個地方的事件。
您可以創建一個三等功,通過它委託給兩個類處理該事件。
viewController.delegate = delegatingClass;
...在被稱爲delegatingClass
對象,實現你很關心,呼籲要處理該事件的兩個類的方法相同的方法。例如:
void handleEvent(Event event) {
firstClass.handleEvent(event);
otherClass.handleEvent(event);
}
是的,我想過,但我的委託方法有3個參數。所以爲了使用'NSNotificationCenter',我必須將它們全部捆綁在一個數組中。而且,儘管使用委託更有意義,但運行通知 – Andrew
Plus後,我不知道可以向多個實例發送通知。我只發過一個通知到一個地方 – Andrew
我最終使用混合委託和通知。代碼非常複雜,所以它可能不是最好的路線,但它的工作原理,所以我只是堅守它 – Andrew