Assigning to enum value to incompaitable type int

非 Y 不嫁゛ 提交于 2019-12-11 21:48:11

问题


I am using the c++ library. so i converted my .m file to .mm file.

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'

回答1:


Try:

self.ImageSourceType = ImageSourceTypePhotoLibrary



回答2:


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)


来源:https://stackoverflow.com/questions/24191860/assigning-to-enum-value-to-incompaitable-type-int

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!