在 Objective C 中,有没有办法从另一个类调用引用 typedef 枚举?
据我了解,typedef 枚举是全局范围的,但如果我在 RandomViewController.h 的 @interface 之外创建了一个枚举,我无法弄清楚如何从 OtherViewController.m 访问它。有办法做到这一点吗?
所以... “RandomViewController.h”
#import <UIKit/UIKit.h>
typedef enum {
EnumOne,
EnumTwo
}EnumType;
@interface RandomViewController : UIViewController { }
然后... “其他ViewController.m”
-(void) checkArray{
BOOL inArray = [randomViewController checkArray:(EnumType)EnumOne];
}
It is my understanding that typedef enums are globally scoped, but if I created an enum outside of the @interface of RandomViewController.h, I can't figure out how to access it from OtherViewController.m. Is there a way to do this?
So...
"RandomViewController.h"
#import <UIKit/UIKit.h>
typedef enum {
EnumOne,
EnumTwo
}EnumType;
@interface RandomViewController : UIViewController { }
and then...
"OtherViewController.m"
-(void) checkArray{
BOOL inArray = [randomViewController checkArray:(EnumType)EnumOne];
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 OtherViewController.m 中:
并且您不应该像类型一样命名变量。而是将其命名为 myEnumOne,或者任何您喜欢的名称:)
您能给我们展示 checkArray 方法的声明吗?根据我的理解,应该是
在调用方法时您不需要将参数类型转换为 EnumType (我假设它已经是 EnumType 类型)。
In OtherViewController.m:
And you shouldn't name your variable like the type. Rather name it myEnumOne, or whatever you like :)
Can you show us the declaration of the checkArray method? In my understanding it should be
You shouldn't need to typecast the argument to EnumType when calling the method (I'm assuming that it's of the type EnumType already).
只需导入标头即可。
Just import the header.