zoukankan      html  css  js  c++  java
  • 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方法

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

  • 相关阅读:
    《极客时间--算法面试》--二叉树
    《极客时间--算法面试》-哈希表
    《极客时间-算法面试》-堆栈和队列
    《极客时间-算法面试》-数组和链表
    《极客时间-算法面试》
    《极客时间-算法面试》如何计算复杂度
    查找算法
    排序算法
    AI 期刊会议
    《剑指offer》数组中只出现一次的数字
  • 原文地址:https://www.cnblogs.com/xclidongbo/p/4064304.html
Copyright © 2011-2022 走看看