简体   繁体   English

将枚举值分配给不可比较的类型int

[英]Assigning to enum value to incompaitable type int

I am using the c++ library. 我正在使用c ++库。 so i converted my .m file to .mm file . 所以我将.m文件转换为.mm文件

Now what happens i am not able to set the enum value. 现在发生了什么,我无法设置枚举值。

See Enum 见枚举

 typedef enum{
    ImageSourceTypeCamera,
    ImageSourceTypePhotoLibrary,
    ImageSourceTypeNone
  }
ImageSourceType;

// Property //属性

@property(nonatomic,assign) ImageSourceType ImageSourceType;

Now when i am using this line its give me error 现在当我使用这条线时给我错误

    self.ImageSourceType=2;  / / assigning to 'ImageProcessType' from incompaitable with 'int'

尝试:

self.ImageSourceType = ImageSourceTypePhotoLibrary

To use numbers instead of names for enums, format the definition like so: 要使用数字代替枚举的名称,请按如下所示格式化定义:

typedef enum{
    ImageSourceTypeCamera = 0,
    ImageSourceTypePhotoLibrary = 1,
    ImageSourceTypeNone = 2
  }
ImageSourceType;

self.ImageSourceType = 0; //ImageSourceTypeCamera
self.ImageSourceType = 1; //ImageSourceTypePhotoLibrary 
//etc...

if (self.ImageSourceType == 0) {
    //this is the same as (self.ImageSourceType == ImageSourceTypeCamera)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM