枚举类型的设计:
/**
* 媒体类型
*/
typedef NS_OPTIONS(uint32_t, MediaType) {
/** 不限制 */
MediaType_All = 1 << 31,
/** 文本 */
MediaType_Text = 0,
/** 图片 */
MediaType_Photo = 1 << 0,
/** 音频 */
MediaType_Sound = 1 << 1,
/** 视频 */
MediaType_Video = 1 << 2,
/** 频道 */
MediaType_Channel = 1 << 3,
/** 图片+音频 */
MediaType_Photo_Sound = MediaType_Photo | MediaType_Sound,
};
设置类型可以是 MediaType_Text | MediaType_Photo | MediaType_Sound (或运算)
mediaType = MediaType_Text | MediaType_Photo | MediaType_Sound //(或运算)
判断类型是否拥有某一类:
if ((mediaType & MediaType_Sound) == MediaType_Sound){
//包含音频
}