我有一個觸發特定事件的自定義委託。對於上下文來說,這是一個任意觸發事件的藍牙設備。我希望我的視圖控制器可以選擇訂閱由設備代理觸發的這些事件。如何訂閱全球委託事件?
每個視圖控制器都符合自定義委託是沒有意義的,因爲這意味着設備變量將是本地的,並且只會在該視圖控制器中觸發。其他視圖控制器不會意識到更改。另一個具體的例子是CLLocationManagerDelegate
- 例如,如果我想要所有的視圖控制器聽GPS座標變化怎麼辦?
相反,我想更多的是所有視圖控制器都可以訂閱的全局委託。所以如果一個視圖控制器觸發一個請求,設備將爲所有正在偵聽的訂閱視圖控制器調用委託函數。
我該如何實現這種建築設計?代表是不是正確的方法?我想也許NotificationCenter
可以在這裏幫助,但似乎太鬆散類型,也許投擲協議將有助於使事情更易於管理/優雅?任何幫助將不勝感激!