我的理解是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];
}
答案 0 :(得分:2)
在OtherViewController.m中:
#import "RandomViewController.h"
你不应该像你的类型那样命名你的变量。而是将它命名为myEnumOne,或任何你喜欢的东西:)
BOOL inArray = [randomViewController checkArray:(EnumType)myEnumOne];
你能告诉我们checkArray方法的声明吗?根据我的理解,它应该是
- (BOOL)checkArray:(EnumType)blabla;
调用方法时,您不需要将参数类型化为EnumType(我假设它已经是EnumType类型)。
答案 1 :(得分:1)
只需导入标题。