单身人士或公用事业班?

时间:2012-06-16 06:55:28

标签: ios enums typedef

我有一个iOS应用程序,它使用多个枚举作为有效值,主要是因为我使用了一些整数驱动的状态转换表,但也允许更低的内存使用率和SQLite中的索引搜索能力,我我正在使用后端。

我在一个普通的.h文件中得到了所有枚举,它包含在许多基于枚举类型创建变量的类中。我也有几种方法可用于许多类。其中一些人正在将枚举翻译成字符串,其中typedef和(人类)语言作为参数。

其中一个typedef如下:

typedef enum {
    Ben,
    Sen,
    O,
    Biz,
    Siz,
    Onlar
} pronoun_typedef;

还有另一组方法,主要是字符串操作,它们被输入几个参数并返回NSString*NSMutableString*

我已经将它们移动到不同的类几次,我认为最好的方法可能是创建一个“实用程序”类并将其包含在每个相关的类中,并根据需要进行实例化。

这是一个好方法吗?我考虑的另一个选择是创建一个单例,然后将它引用到需要它的每个类。关于使用哪种方法或对其他方法的任何建议的任何建议?

我知道这是一个类似的问题和其他一些问题,但我觉得它没有得到最终回答,所以我想我再问一次。 Singleton and Static Utility classes

1 个答案:

答案 0 :(得分:1)

如果实用程序方法不需要对self的引用,我会使它们在与常量相同的模块中定义C函数。您需要一个带有常量定义和函数声明(原型)的.h文件,以及一个定义了函数体的.c文件。

如果它需要是一个对象,如果单个实例有意义则使用单例,如果每个实例需要一个私有的,独立的内部数据/状态副本,则使用多个实例。