0

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

我将所有枚举都放在一个通用的 .h 文件中,该文件包含在许多基于枚举类型创建变量的类中。我还有几种方法可以在许多类中使用。其中一些正在将枚举转换回字符串,其中 typedef 和(人类)语言作为参数。

typedef 之一如下:

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

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

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

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

我知道这是一个与这个和其他一些类似的问题,但我觉得它没有得到最终的回答,所以我想我再问一次。单例和静态实用程序类

4

1 回答 1

1

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

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

于 2012-06-16T07:18:16.530 回答