四.枚举类型的推荐用法

枚举一般可以用于type切换,状态变化,以及样式组合等
场景1.只用一种类型不需要样式组合。(NS_ENUM,NS_OPTIONS底层会自适应)
推荐用

typedef NS_ENUM(NSUInteger,HuNavigationStatus)
{
    HuNavigationStatusDefault,  //默认显示,根据堆栈显示返回,显示title
    HuNavigationStatusNone,     //无导航条
    HuNavigationStatusModel,    //页面管理配置部分即返回,部分自定义及右侧
    HuNavigationStatusCustom,   //完全自定义
};

不推荐

typedef enum{
    HuNavigationStatusDefault,  //默认显示,根据堆栈显示返回,显示title
    HuNavigationStatusNone,     //无导航条
    HuNavigationStatusModel,    //页面管理配置部分即返回,部分自定义及右侧
    HuNavigationStatusCustom,   //完全自定义
}HuNavigationStatus;

场景2.样式可以组合使用
推荐用

/*  为股票的cell添加股票标记 */
typedef NS_OPTIONS(NSUInteger,HUStockCellMarkType)
{
    HUStockCellMarkTypeEmpty      = 0 << 1,//什么都不标记
    HUStockCellMarkTypePosition   = 1 << 1,//标记为持仓股票
    HUStockCellMarkTypeHK         = 1 << 2,//标记为港股
    HUStockCellMarkTypeUS         = 1 << 3,//美股
    HUStockCellMarkTypeCulture    = 1 << 4,//文交所
    HUStockCellMarkTypeSHTong     = 1 << 5,//沪港通沪股通
    HUStockCellMarkTypeMarginType = 1 << 6,//融资融券
};

//  HUNewSelfStockPage.m 使用类
//又是持仓股又是港股组合样式
    HUStockCellMarkType markType = HUStockCellMarkTypePosition|HUStockCellMarkTypeHK;
    //判断是否含有某个样式
    if(markType & HUStockCellMarkTypeHK){
        //是港股
    }

switch特别说明,尽量不要用default,
原因:如果你加了deufault,你每次新加一种类型,编译器都不会报警告。这样不好。
一般这样用

typedef NS_ENUM(NSUInteger,HsChartType)
{
    HsChartTypeLine,            //折线图
    HsChartTypeBar,             //柱状图
//    HsChartTypeLineAndBar,      //折线柱状图
//    HsChartTypeFallsBar,        //瀑布柱状图
//    HsChartTypeScatter,         //散点图
//    HsChartTypeHoldingRatio,    //持股比例图
//    HsChartTypeHorizonBar,      //水平柱状图
//    HsChartTypeProfitLine,            //收益率曲线
};
switch (self.chartType) {
        case HsChartTypeLine:   // 画曲线
            [self drawFuncLine];
            break;
        case HsChartTypeBar:    // 画柱状图
            [self drawBarChart];
            break;
    }

如果你发现本文对你有所帮助,如果你认为其他人也可能受益,请把它分享出去。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容