在Objective C中,有没有办法从另一个类调用referencedef enum?

时间:2010-05-12 22:46:35

标签: objective-c scope global-variables enums typedef

我的理解是typedef枚举是全局范围的,但是如果我在RandomViewController.h的@interface之外创建了一个枚举,我无法弄清楚如何从OtherViewController.m访问它。有没有办法做到这一点?

所以... “RandomViewController.h”

#import <UIKit/UIKit.h>

typedef enum {
 EnumOne,
 EnumTwo
}EnumType;

@interface RandomViewController : UIViewController { }

然后...... “OtherViewController.m”

-(void) checkArray{
      BOOL inArray = [randomViewController checkArray:(EnumType)EnumOne];
}

2 个答案:

答案 0 :(得分:2)

在OtherViewController.m中:

#import "RandomViewController.h"

你不应该像你的类型那样命名你的变量。而是将它命名为myEnumOne,或任何你喜欢的东西:)

BOOL inArray = [randomViewController checkArray:(EnumType)myEnumOne];

你能告诉我们checkArray方法的声明吗?根据我的理解,它应该是

- (BOOL)checkArray:(EnumType)blabla;

调用方法时,您不需要将参数类型化为EnumType(我假设它已经是EnumType类型)。

答案 1 :(得分:1)

只需导入标题。