美文网首页
位移枚举

位移枚举

作者: Z了个L | 来源:发表于2016-08-04 07:19 被阅读16次
// ViewController.h
#import <UIKit/UIKit.h>

@interface ViewController : UIViewController


@end

// ViewController.m
#import "ViewController.h"

//经典C语言风格的枚举
typedef enum : NSUInteger {
    XMGTypeTop,
    XMGTypeBottom,
} XMGType;

//OC风格的枚举
typedef NS_ENUM(NSUInteger,XMGDemoType) {
    XMGDemoTypeTop,
    XMGDemoTypeBottom,
};

//位移枚举
//如果发现位移枚举的第一个枚举值!=0,那么你可以默认传0,表示性能最高
typedef NS_OPTIONS(NSUInteger, XMGActionType) {
    XMGActionTypeTop = 1 << 0, //1
    XMGActionTypeBottom = 1 << 1,
    XMGActionTypeLeft = 1 << 2,
    XMGActionTypeRight = 1 << 3,
};


@interface ViewController ()

@end

@implementation ViewController

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
    [self demo:XMGActionTypeTop | XMGActionTypeBottom | XMGActionTypeLeft | XMGActionTypeRight];
}


//传多个参数 3个
//| 0|1 = 1 0|0 = 0 1|1 = 1  只要有1那么结果就是1
//& 0&1 = 0 0&0 = 0 1&1 = 1  只要有0那么结果就是0
-(void)demo:(XMGActionType)type
{
    NSLog(@"%zd",type);

    if (type & XMGActionTypeTop) {
        NSLog(@"向上---%zd",type & XMGActionTypeTop);
    }

    if (type & XMGActionTypeBottom) {
        NSLog(@"向下---%zd",type & XMGActionTypeBottom);
    }

    if (type & XMGActionTypeRight) {
        NSLog(@"向右---%zd",type & XMGActionTypeRight);
    }

    if (type & XMGActionTypeLeft) {
        NSLog(@"向左---%zd",type & XMGActionTypeLeft);
    }


}
@end


相关文章

  • 位移枚举

    位移枚举和普通枚举的区别位移枚举可以传递多个参数,普通的枚举只能传递单个参数 举个?在SDWebimage里有的地...

  • Swift&OC位移枚举区别

    1、Swift 位移枚举写法 2、ObjC位移枚举写法 相比之下ObjC更加简单明了。

  • 位移枚举

    位移枚举 C语言枚举定义 苹果创建枚举的定义方式

  • 位移枚举

    枚举的其中一种方式:位移枚举,直接上代码,看完基本就懂了 写一个方法: 在viewDidLoad方法中调用本方法:

  • 位移枚举

    位移枚举 一. OC中常见的三种枚举 C语言枚举 // C语言枚举 typedef enum : NSUInteg...

  • 位移枚举

  • 位移枚举

    使用场景:同一次操作有多个选项,可以同时多选同时禁用摘取一段定义好的iOS代码 写一个方法,需要选择两种特性来实现...

  • 位移枚举

    //第一种写法typedef enum{DemoTypeTop,DemoTypeBottom,}DemoType;

  • 位移枚举

    ![Uploading 2B88CA96-A66A-4BE8-AD65-456C8CDB8DF3_547667.p...

  • 位移枚举

网友评论

      本文标题:位移枚举

      本文链接:https://www.haomeiwen.com/subject/ikdcsttx.html