1
我做了一個包含所有實用方法的類。因此,我沒有將它作爲單例,而是將方法標記爲static
,並通過ClassName.methodName
訪問這些方法,而不需要實例化。 這種方法行嗎?什麼時候在Swift中創建一個類作爲Singleton?
我做了一個包含所有實用方法的類。因此,我沒有將它作爲單例,而是將方法標記爲static
,並通過ClassName.methodName
訪問這些方法,而不需要實例化。 這種方法行嗎?什麼時候在Swift中創建一個類作爲Singleton?
只是認爲這是一個單身是爲了使用,以確保只有一個實例存在給定類,並有一個全球性的接入點,以該實例。
我認爲將所有實用功能標記爲靜態類是一種很好的方法,因爲如您所述,您將需要使用ClassName.methodName
才能使用它們。
此外,根據你想要什麼來實現,並通過this link提供的信息,我想重申的是具有靜態方法的類是最好的選擇。
如果我不實例化,內存不會被分配在堆上。與上面提到的方式使用內存分配相比,它如何?如果我不創建實例,內存如何分配? –
@PiyushVaish,根據[this](http://stackoverflow.com/questions/7673359/static-method-memory-allocation)靜態字段存儲在堆上的一個特殊對象上,但你無法訪問它就像你創建一個類的實例一樣。 – lmiguelvargasf