0

我经常需要在多个地方引用一组字符串(比如团队名称)。该数组的内容不会改变。

为了实现这一点,我定义了自己的类,MyConstants. 在标题中,我定义了一些不相关的常量字符串和数字。在实现文件中,我将类设为单例,然后添加了类方法arrayOfTeamNames

要访问数组,我使用 [Constants arrayOfTeamNames]。

我这个可以接受吗?

我在考虑 NSString 和 NSArray 本身如何通过类方法处理创建。例如,如果我想要一个空数组,我可以使用[NSArray array]- 所以大概 'array' 是 NSArray 上的一个类方法。

因此,而不是我上面的实现,我应该使用一个类别将“+arrayOfTeamStrings”添加到 NSArray,而不是使用我自己的类吗?

或者,或者,我应该创建自己的 NSArray 子类并在那里添加类方法?

在任何一种情况下,我都需要自己让班级成为单身人士吗?或者这不是必需的吗?

4

1 回答 1

0

一般来说,通过类别将类方法添加到基础类中可能会有很好的用途。但在这种情况下,我实际上会坚持arrayOfTeamNames成为MyConstants. 团队名称是一个NSArray事实并不像它对于您的应用程序是一个常量这一事实重要。

如果 中定义的值MyConstants非常多样化且不相关,或者只有几个,那么我会考虑将其MyConstants作为一个类删除并使用类别甚至只是外部,例如extern NSArray * const BPAllTeamNames.

于 2013-07-23T13:57:58.740 回答