我有一个iOS应用程序,它使用多个枚举作为有效值,主要是因为我使用了一些整数驱动的状态转换表,但也允许更低的内存使用率和SQLite中的索引搜索能力,我我正在使用后端。
我在一个普通的.h文件中得到了所有枚举,它包含在许多基于枚举类型创建变量的类中。我也有几种方法可用于许多类。其中一些人正在将枚举翻译成字符串,其中typedef和(人类)语言作为参数。
其中一个typedef如下:
typedef enum {
Ben,
Sen,
O,
Biz,
Siz,
Onlar
} pronoun_typedef;
还有另一组方法,主要是字符串操作,它们被输入几个参数并返回NSString*
或NSMutableString*
。
我已经将它们移动到不同的类几次,我认为最好的方法可能是创建一个“实用程序”类并将其包含在每个相关的类中,并根据需要进行实例化。
这是一个好方法吗?我考虑的另一个选择是创建一个单例,然后将它引用到需要它的每个类。关于使用哪种方法或对其他方法的任何建议的任何建议?
我知道这是一个类似的问题和其他一些问题,但我觉得它没有得到最终回答,所以我想我再问一次。 Singleton and Static Utility classes
答案 0 :(得分:1)
如果实用程序方法不需要对self的引用,我会使它们在与常量相同的模块中定义C函数。您需要一个带有常量定义和函数声明(原型)的.h文件,以及一个定义了函数体的.c文件。
如果它需要是一个对象,如果单个实例有意义则使用单例,如果每个实例需要一个私有的,独立的内部数据/状态副本,则使用多个实例。