[英]reachability and singleton
如何使可達性作為單例工作? 這是我想做的...
我有一個申請。 啟動時,我希望擁有一個單身人士並使用可達性來保持網絡狀態。 然后,我想從其他控制器訪問單例並檢查網絡狀態。 例如,我希望每次用戶單擊一個選項卡時都會顯示該屏幕,以檢查Internet狀態並啟用或禁用按鈕。
我知道這個問題很籠統,但我很困惑。 我目前正在使用可達性2.2
任何提示或想法,甚至指南將不勝感激。
最后一個問題....單身人士的使用方式有多“道德”? 並且更接近MVC模型是最佳實踐嗎?
再次感謝
單身人士很好。 可達性可能是一個非常明智的單例。 您應該注意Apple的《可可基礎指南 》中的“創建單例實例”文檔,但請仔細閱讀本文 。 他們提供的代碼很少是您所需要的,並且可能會解決更多問題。 僅在存在多個對象副本是錯誤的情況下才是合適的(例如,錯誤的原因是對象管理唯一的資源)。 在那種情況下,我傾向於寧願在-init
聲明而不是重載allocWithZone:
因為我寧願強迫開發人員進行正確的調用( +sharedInstance
),而不是為他們靜靜地修復它,並讓他們認為他們已經創建了實際上是兩個實例(至少在單例可變或保持狀態的情況下)。
這個問題對良好的單例模式進行了精彩的討論。 我贊成在我自己的代碼中使用@Robbie Hanson的答案,因為它是廉價的線程安全的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.