我经常需要在多个地方引用一个字符串数组(比如团队名称)。该数组的内容不会改变。
为此,我定义了自己的类MyConstants
。在标题中,我定义了一些不相关的常量字符串和数字。在实现文件中,我使类成为单例,然后添加了类方法arrayOfTeamNames
。
要访问数组,我使用[Constants arrayOfTeamNames]。
我接受了吗?
我在考虑NSString和NSArray本身如何通过类方法处理创建。例如,如果我想要一个空数组,我可以使用[NSArray array]
- 所以假设'array'是NSArray上的类方法。
因此,我应该使用类别将“+ arrayOfTeamStrings”添加到NSArray而不是使用我自己的类,而不是上面的实现吗?
或者,或者,我应该创建自己的NSArray子类并在那里添加类方法吗?
在任何一种情况下,我是否需要让自己成为单身人士?或者这不是必要的吗?
答案 0 :(得分:0)
通常,通过类别向基础类添加类方法可以有很好的用途。但在这种情况下,我实际上坚持arrayOfTeamNames
成为MyConstants
的一部分。团队名称是NSArray
的事实并不像它对您的应用程序来说是一个常数那么重要。
如果MyConstants
中定义的值非常多样且不相关,或者只有其中的几个,那么我会考虑将MyConstants
作为一个类除去并使用类别甚至只是externs,例如extern NSArray * const BPAllTeamNames
。