问题
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