2016-05-27 74 views
0

我有一個C++類,具有下面的枚舉。如何將C++枚舉複製到Objective C枚舉中

typedef enum 
{ 
    UnknownType = 0, 
    Array = 1, 
    Block = 2, 
    Enumeration = 3, 
}ParameterValueType_t; 

我想將其複製到Objective C枚舉中。我應該如何複製它

+0

你可以枚舉存儲在C文件和在這兩種語言中使用,或者我認爲其他選項應該用於Objective-C++(將文件命名爲.mm) – BlackBox

+1

這是一個有效的Objective-C枚舉,因爲Objective-C是C的超集,所以您可以copy'n'paste。但也許這不是你問的問題? – CRD

回答

1

使用plain C來聲明你的枚舉並把它放在一個頭文件中,例如MyEnums.h文件。將這MyEnums.h包括在您的C++和Objective-C文件中。兩種語言都理解來自C的枚舉聲明。 MyEnums.h

#ifndef PARAMETERVALUETYPE 
#define PARAMETERVALUETYPE 

typedef enum { 
    UnknownType = 0, 
    Array = 1, 
    Block = 2, 
    Enumeration = 3 
} ParameterValueType_t; 

#endif 

C++文件的* .h/* CPP:

#include "MyEnums.h" 

// ... C++ code 

Objective-C的文件* .M:

#import "MyEnums.h" 

// ... Objective-C code