四.枚舉類型的推薦用法

枚舉一般可以用于type切換,狀態(tài)變化,以及樣式組合等
場景1.只用一種類型不需要樣式組合。(NS_ENUM,NS_OPTIONS底層會自適應)
推薦用

typedef NS_ENUM(NSUInteger,HuNavigationStatus)
{
    HuNavigationStatusDefault,  //默認顯示,根據(jù)堆棧顯示返回,顯示title
    HuNavigationStatusNone,     //無導航條
    HuNavigationStatusModel,    //頁面管理配置部分即返回,部分自定義及右側(cè)
    HuNavigationStatusCustom,   //完全自定義
};

不推薦

typedef enum{
    HuNavigationStatusDefault,  //默認顯示,根據(jù)堆棧顯示返回,顯示title
    HuNavigationStatusNone,     //無導航條
    HuNavigationStatusModel,    //頁面管理配置部分即返回,部分自定義及右側(cè)
    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;
    }

如果你發(fā)現(xiàn)本文對你有所幫助,如果你認為其他人也可能受益,請把它分享出去。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容