我正在使用AsyncSocket進行TCP連接。
我有一個TCP套接字,但我有兩個UIViewControllers使用此套接字。
據我所知,當我初始化AsyncSocket時,只有一個委託。
這兩個UIViewControllers都需要處理來自AsyncSocket的回調。
有什麼好主意來實現這一目標?
任何想法表示讚賞!iOS的AsyncSocket通知兩個UIViewController
回答
您可以使用nsnotificationcenter來通知兩個視圖控制器關於來自AsyncSocket的回調。 您可以在某些應用程序控制器(可以爲您的應用程序創建它)/ appdelegate中使用AsyncSocket代碼。當它觸發回調時,你可以發送通知AsyncSocketNoftication(你必須創建像這樣的命名通知),這是由各自的視聽控制器捕獲的AsyncSocketNoftication。 即使你想通知許多視圖控制器,這也很有用。
希望它有幫助!
當你需要有多個代表的東西,你可以用任何論斷:
- 有一定
manager
類充當委託的插座。這個管理器類將有一個委託數組(每個元素的類型爲id<someCustomDelegate>
)。此外,您還有一個someCustomDelegate
協議,您的每個ViewController都可以實施。當你的AsyncSocket的委託方法被調用時,你迭代自定義委託數組來通知每一個訂閱的ViewControllers。 - 您可以使用與數字1類似的模式,但不是代理數組,而是發佈自定義通知,並使每個ViewController偵聽該特定通知。這種方法會更容易,也很可靠。
感謝您的分享!我寧願你的第二個建議。我認爲你的第一種方法對我來說有點複雜,但我想知道更多。這個實現有沒有類似的例子? – srjohnhuang
我不知道一個特定的例子,但我敢肯定,如果你谷歌的東西像'委託數組'你可能會發現一些東西。此外,這並不難,只要你以前使用過自定義委託,唯一的新事物就是代替擁有數組的委託屬性。 – Merlevede
太棒了!謝謝你的提示!我會嘗試谷歌「代表陣列」。 – srjohnhuang
- 1. AsyncSocket和通知 - 內存泄漏
- 2. 讀取整個html字符串Asyncsocket iOS
- 3. 從推送通知的ios上的AppDelegate更改UIViewController
- 4. 在兩個UIViewController的
- 5. IOS - 加載未知類型的UIViewController
- 6. iOS通知顯示兩次默認和我的通知警報
- 7. iOS上的多個通知
- 8. 通知添加兩個通知
- 9. 兩個獨立的通知
- 10. iOS中的Asyncsocket斷開連接事件
- 11. 視圖或委託中的iOS AsyncSocket
- 12. iOS中的通知
- 13. AsyncTask生成兩個通知
- 14. fcm接收兩個通知
- 15. iOS通知
- 16. 通知 - ios
- 17. 通知IOS apns
- 18. AsyncSocket:合併兩個數據包而不是單獨的兩個數據包
- 19. 發送通知負載到UIViewController
- 20. iOS中的多個本地通知
- 21. 64個本地通知的iOS限制
- 22. 同時顯示兩個UIViewController
- 23. 的iOS - 呈現一個UIViewController花葯的UIViewController
- 24. 如何在故事板iOS中製作一個通用的UIViewController?
- 25. 單個UIViewController中的兩個UITableView問題
- 26. 在一個UIViewController中的兩個UITableViews
- 27. ios uinavigationcontroller到uiviewcontroller
- 28. iOS更改UIViewController
- 29. 將iOS通知隱藏到Android通知
- 30. 策略iOS通知
感謝您的快速響應。看來使用nsnotificationcenter是一個好方法。你認爲在AppDelegate中使用AsyncSocket是個好主意嗎?或者在分離的管理器UIViewController中使用AsyncSocket? – srjohnhuang
這取決於您的應用程序如何圍繞您的AsyncSocket部件移動。根據您的需要,您可以決定放置此代碼的最佳位置。 AppDelegate只是我的建議。只是考慮放置這段代碼。 (Think-> design-> Implement):) – jnix
謝謝!我會考慮的。 :) – srjohnhuang