簡體   English   中英

我可以在NSArray上使用自定義類方法返回常量嗎?

[英]Can I use a custom class method on NSArray to return a constant?

我經常需要在多個地方引用一個字符串數組(比如團隊名稱)。 該數組的內容不變。

為此,我定義了自己的類MyConstants 在標題中,我定義了一些不相關的常量字符串和數字。 在實現文件中,我使類成為單例,然后添加了一個類方法arrayOfTeamNames

要訪問數組,請使用[Constants arrayOfTeamNames]。

我這個可以接受嗎?

我在考慮NSString和NSArray本身如何通過類方法處理創建。 例如,如果我想要一個空數組,則可以使用[NSArray array] -因此'array'可能是NSArray上的一個類方法。

因此,不是我上面的實現,我應該使用類別向NSArray添加'+ arrayOfTeamStrings'而不是使用我自己的類嗎?

或者,是否應該創建自己的NSArray子類並在其中添加類方法?

無論哪種情況,我都需要自己使該類成為單身人士嗎? 還是沒有必要?

通常,通過類將類方法添加到基礎類中可以有很好的用途。 但是,在這種情況下,我真的堅持arrayOfTeamNames中的一部分內容MyConstants 團隊名稱是NSArray的事實並不像它對於您的應用程序是常量那樣重要。

如果MyConstants中定義的值非常不同MyConstants相關,或者只有幾個,那么我會考慮擺脫MyConstants作為類,而使用類別甚至使用extern NSArray * const BPAllTeamNames ,例如extern NSArray * const BPAllTeamNames

暫無
暫無

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

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