0

在我的應用程序我使用單身類(作爲sharedInstance)。當然,我需要在多個類(視圖控制器)中使用存儲在該單例中的數據。 因爲寫是不錯的編程實踐分配單個變量跨多個類

[[[SingletonClass sharedInstance] arrayWithData] count]

[[[SingletonClass sharedIntanse] arrayWithData] objectAtIndex:index]或者您在陣列使用一些其他的方法是不舒服我認爲,在非單例類的生命週期開始時,指定的該屬性(強,非原子)非單例類與SingletonClass具有相同的地址。

self.arrayPropertyOfOtherClassOne = [[SingletonClass sharedInstance] arrayWithData] 和其他一些類

self.arrayPropertyOfOtherClassTwo = [[SingletonClass sharedInstance] arrayWithData]

它是良好的編程習慣?

在我看來沒有什麼不好。屬性將指向與單身人士屬性相同的地址,並且非單身人員等級將被銷燬,同時指向單身人士的屬性如此引用計數=引用計數 - 1.

我是否正確?

回答

2

在我看來,沒有什麼不好。

通常你會想維護一個指向單例的指針,而不是它包含的某個對象。通過保持一個指向它包含的對象的指針,你正在添加一個更強的依賴關係,並要求該對象不會以某種定義的方式更改或更改。如果你已經定義並記錄了那麼它應該沒問題,但是,通常單身人士應該能夠銷燬該對象並根據需要創建一個新對象,因此你可能想重新考慮保留對象的引用。

保持對單身人員本身的引用是好的,因爲這永遠不會被破壞。

屬性將指向相同的地址屬性中的Singleton

和後非單類也將被破壞性質,其中指向獨居所以引用計數= Refrence count - 1.

True