MySQL枚举在Objective-C中等同于枚举?

时间:2013-06-15 11:59:47

标签: objective-c

我从在线数据库中提取数据。其中一列在MySQL数据库中具有数据类型ENUM('星期日','星期一','星期二','星期三','星期四',星期五','星期六')。

我想知道将它作为NSString保存在类对象中是否可以,或者有一种更有效的方法,例如创建一个对象的类型定义,该对象只能是加速的ENUM参数之一处理或节省空间,例如在MySQL中使用它们时。

1 个答案:

答案 0 :(得分:0)

您可以创建相应的C enum,并将其作为整数类型存储在内存中。这比将它存储在NSString中更快/更小,但除非你做了一些非常不寻常的事情(即处理数百万条记录),否则我不会指出差异是显而易见的。如果您确实选择为此目的创建一个C enum,您可能最终会编写例程来往返于NSString s来回转换它,这是一个次要但令人讨厌的苦差事。

目前在Objective-C中用于enums的惯用事物是NS_ENUM宏。有关详细说明,请参阅this page