簡體   English   中英

可達性和單例

[英]reachability and singleton

如何使可達性作為單例工作? 這是我想做的...

我有一個申請。 啟動時,我希望擁有一個單身人士並使用可達性來保持網絡狀態。 然后,我想從其他控制器訪問單例並檢查網絡狀態。 例如,我希望每次用戶單擊一個選項卡時都會顯示該屏幕,以檢查Internet狀態並啟用或禁用按鈕。

我知道這個問題很籠統,但我很困惑。 我目前正在使用可達性2.2

任何提示或想法,甚至指南將不勝感激。

最后一個問題....單身人士的使用方式有多“道德”? 並且更接近MVC模型是最佳實踐嗎?

再次感謝

單身人士很好。 可達性可能是一個非常明智的單例。 您應該注意Apple的《可可基礎指南 》中的“創建單例實例”文檔,但請仔細閱讀本文 他們提供的代碼很少是您所需要的,並且可能會解決更多問題。 僅在存在多個對象副本是錯誤的情況下才是合適的(例如,錯誤的原因是對象管理唯一的資源)。 在那種情況下,我傾向於寧願在-init聲明而不是重載allocWithZone:因為我寧願強迫開發人員進行正確的調用( +sharedInstance ),而不是為他們靜靜地修復它,並讓他們認為他們已經創建了實際上是兩個實例(至少在單例可變或保持狀態的情況下)。

這個問題對良好的單例模式進行了精彩的討論。 我贊成在我自己的代碼中使用@Robbie Hanson的答案,因為它是廉價的線程安全的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM