2014-01-22 51 views
-1

我讀過幾篇文章,討論專業人士對單身模式的看法。但我想知道:建議在iOS應用程序中有多個單身人士嗎?

是否建議在iOS應用程序中有多個單身人士?

有什麼優點和缺點?

目前,我在全球只有一個單身人士,並擁有其他必要屬性(包括自定義複合類)的強引用。但是這個想法聽起來有點奇怪,例如,我不小心可以創建一些我不想要的自定義複合類的實例。

+0

這完全取決於你和你感覺舒服。在性能方面,它沒有區別 – giorashc

回答

3

你應該有儘可能多的單身你需要的。看看Cocos2d - 它包含相當數量的:CCDirector,CCTextureCache,CCSpriteFrameCache等等。對單身人士沒有限制,比如說5。如果你爲了某種操作(如訪問網絡或數據庫等)而擁有一個單一的中心類很方便,並且你永遠不需要這個類的第二個實例,那麼隨意使它成爲一個單身人士。

+0

謝謝...簡短而又甜美,但具有描述性。 – Goppinath

2

這取決於您的要求。 您可以擁有多個單例類或對象。

單身物件在您的應用程序退出前一直處於活動狀態。 對於內存管理問題,如果您有多個單例對象(您無法在釋放內存警告時釋放這些單例對象)將會非常困難。

+0

+1雖然你可以指示一個單身人士將其內部數據釋放到內存低的情況下 – giorashc

+0

@giorashc:是的,你可以做到這一點。但單身人士的意義也將喪失。如果你正在使用'dispath_once',你不能再創建這個對象。 –

+0

我的意思是釋放存儲在單例中的數據(通過適當的singleton方法,比如釋放數據(),將適當的成員設置爲零,或者如果不使用ARC ),而不是單例實例。 – giorashc