NS_ENUM和NS_OPTIONS区别】的更多相关文章

首先,NS_ENUM和NS_OPTIONS都是宏. Foundation框架中定义了一些辅助的宏,用这些宏来定义枚举类型时,也可以指定用于保存枚举值的底层数据类型.这些宏具有向后兼容能力,如果目标平台的编译器支持新标准,那就使用新式语法,否则改用旧式语法.这些宏是用#define预处理指令来定义的.NS_ENUM 和 NS_OPTIONS的定义如下: #if (__cplusplus && __cplusplus >= 201103L && (__has_extens…
OC里枚举的两种类型.NS_ENUM和NS_OPTIONS本质上是一样的都是枚举. typedef NS_ENUM(NSInteger, UIViewAnimationTransition) { UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAni…
枚举的宏定义 一.简介  NS_ENUM和NS_OPTIONS宏提供了一种简明.简单的方法来定义基于C语言的枚举和选项. 这些宏提高了Xcode中的代码完成性,并明确指定了枚举和选项的类型和大小. 此外,此语法以一种方式来声明枚举,该方式由旧编译器正确地计算,并且由更新的编译器来解释底层类型信息. 使用NS_ENUM.NS_OPTIONS宏定义枚举,有助于定义枚举的名称和类型: 如果需要以按位或操作来组合的枚举都应该使用NS_OPTIONS宏:若枚举不需要互相组合,可以使用NS_ENUM来定义 …
NS_ENUM用于定义普通枚举值,NS_OPTIONS用于定义位移相关操作的枚举值: typedef NS_ENUM(NSUInteger, EOCConnectionState) { EOCConnectionStateDisconnected, EOCConnectionStateConnecting, EOCConnectionStateConnected, }; typedef NS_OPTIONS(NSUInteger, EOCPermittedDirection) { EOCPerm…
1.enum可以声明一般类型和位掩码(bitmasked)类型 例如: enum Test{// 一般枚举 TestA, TestB, TestC, }; enum{// 匿名枚举 TestA, TestB, TestC, }; typedef enum _Test{ // 设置别名      TestA,      TestB,      TestC } Test; 2.NS_ENUM声明一般类型, NS_OPTIONS声明掩码(bitmasked)类型 typedef NS_ENUM(NSI…
一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown, } UIViewAnimationTransition; //位移操作…
When everything is an object, nothing is. So, there are a few ways you could parse that, but for the purposes of this article, this is all to say: sometimes it's nice to be able to drop down to the C layer of things. Yes--that non-objective part of o…
一般情况下,我们采用C风格的enum关键字可以定义枚举类型. enum{ UIViewAnimationTransitionNone, UIViewAnimationTransitionFlipFromLeft, UIViewAnimationTransitionFlipFromRight, UIViewAnimationTransitionCurlUp, UIViewAnimationTransitionCurlDown, } UIViewAnimationTransition; //位移操作…
概要 Objective-C是一门面向对象的动态编程语言,主要用于编写iOS和Mac应用程序.关于Objective-C的编码规范,苹果和谷歌都已经有很好的总结: Apple Coding Guidelines for Cocoa Google Objective-C Style Guide 本文主要整合了对上述文档的翻译.作者自己的编程经验和其他的相关资料,为公司总结出一份通用的编码规范. 代码格式 使用空格而不是制表符Tab 不要在工程里使用Tab键,使用空格来进行缩进.在Xcode > P…
第一章:熟悉Objective-C 1 了解objective-c语言的起源 总结:OC为C语言添加了面向对象的特性,是其超集.采用动态绑定的消息结构而非函数调用,也就是说,要在运行时才检查对象类型及决定其执行何种代码.OC的对象都存储到堆中,指向该对象的指针则被存储到栈帧中,当栈帧弹出时自动清理(结构体也是存储到栈空间中的).OC将堆的内存管理抽象出来,形成了引用计数来管理对象内存. 2 在类的头文件中尽量少引入其他头文件 总结:尽量延后引入头文件的时机,减少编译时间.在头文件中使用@clas…