• OC开发中运用到的枚举


    一  常见枚举的定义:

    typedef enum
    {
    LOGIN_SUCCESS,
    USER_NAME,
    USER_PASSWORD,
    OLD_LAT,
    OLD_LNG
    
    }FIELD_SAVED;

    二 在iOS6和Mac OS 10.8以后Apple引入了两个宏来重新定义这两个枚举类型,实际上是将enum定义和typedef合二为一,并且采用不同的宏来从代码角度来区分。 

        typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {
            UIViewAnimationTransitionNone,//默认从0开始
            UIViewAnimationTransitionFlipFromLeft,
            UIViewAnimationTransitionFlipFromRight,
            UIViewAnimationTransitionCurlUp,
            UIViewAnimationTransitionCurlDown,
        };
          
        typedef NS_OPTIONS(NSUInteger, UIViewAutoresizing) {
            UIViewAutoresizingNone                 = 0,
            UIViewAutoresizingFlexibleLeftMargin   = 1 << 0,
            UIViewAutoresizingFlexibleWidth        = 1 << 1,
            UIViewAutoresizingFlexibleRightMargin  = 1 << 2,
            UIViewAutoresizingFlexibleTopMargin    = 1 << 3,
            UIViewAutoresizingFlexibleHeight       = 1 << 4,
            UIViewAutoresizingFlexibleBottomMargin = 1 << 5
        }; 

    三 枚举经常被用于字符的替换.比如把枚举转化为字符.

       枚举转为字符.

    -(NSString*) getStringFromField:(FIELD_SAVED)defaultFiled{
        switch (defaultFiled) {
            case LOGIN_SUCCESS:
                return @"login_success";
            case USER_NAME:
                return @"user_name";
            case USER_PASSWORD:
                return @"user_pwd";
            case OLD_LAT:
                return @"lat";
            case OLD_LNG:
                return @"lng";
            default:
                return @"default";
        }
    }

    我们经常使用枚举来取代相应的字符串或者字典.

    Person类中,有id,name,age.

        比如网络请求后,获取的只是其中的代号,如id.那我们怎样把这个id与name等其它字段关联起来?这里我们就用到了枚举.

    1 首先定义一个全部id值的数组totalID.

    2 根据请求后的id值数组resposeID,与该数组totalID对比,取下标.

    3 根据下标,可通过类似

    getStringFromField方法

    取相应的字符串或者字典.

  • 相关阅读:
    Linux显示2015年日历表
    Linux显示系统日期
    Dialogs 对话框
    grid 属性
    VS2010 fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏 嵌入清单
    Perl Tk grid 布局
    Perl Tk pack布局示例
    Perl Tk grid布局管理器
    Perl DBI模块
    输入文本框模型
  • 原文地址:https://www.cnblogs.com/xclidongbo/p/4064304.html
Copyright © 2020-2023  润新知