[iOS]详解枚举NS_ENUM与NS_OPTIONS的区别与说明

本文详细解析了iOS开发中枚举类型NS_ENUM和NS_OPTIONS的区别与应用场景。NS_ENUM适用于定义一系列互斥的值,而NS_OPTIONS常用于创建位掩码,方便进行按位逻辑运算。枚举值在NS_ENUM中自动递增,而在NS_OPTIONS中需手动指定位移量。了解这些差异对于优化代码和避免潜在错误至关重要。
摘要由CSDN通过智能技术生成

NS_ENUM与NS_OPTIONS区别与说明

我们根据两种定义常见的使用场景来说明其区别。
NS_ENUM

typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {
    UIViewAnimationTransitionNone,//默认从0开始
    UIViewAnimationTransitionFlipFromLeft,
    UIViewAnimationTransitionFlipFromRight,
    UIViewAnimationTransitionCurlUp,
    UIViewAnimationTransitionCurlDown
};

说明:
NS_ENUM 的第一个参数是用于存储的新类型的类型。在64位环境下,UIViewAnimationTransition和 NSInteger 一样有8bytes长。你要保证你给出的所有值能被该类型容纳,否则就会产生错误。第二个参数是新类型的名字。大括号里面和以前一样,是你要定义的各种值。
一般枚举项加上后缀以视区别,大括号中的枚举项的值默认是从0开始连续递增,可自定义,若是定义了枚举项其中一项的值后面依次在它的前一项的值上加1,如这样:

typedef NS_ENUM(
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值