枚举型typedef

本文主要介绍了枚举型的定义及其在编程中的应用,包括如何使用typedef为枚举创建别名,以及Block类型的定义和使用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一. 定义枚举型

//常用
typedef NS_ENUM(NSInteger, UIButtonType) {
    UIButtonTypeCustom = 0,          
    UIButtonTypeSystem NS_ENUM_AVAILABLE_IOS(7_0),  
    UIButtonTypeDetailDisclosure,
    UIButtonTypeInfoLight,
    UIButtonTypeInfoDark,
    UIButtonTypeContactAdd
};

//or
typedef NS_OPTIONS(NSUInteger, UIControlState) {
    UIControlStateNormal       = 0,
    UIControlStateHighlighted  = 1 << 0,                  
    UIControlStateDisabled     = 1 << 1,
    UIControlStateSelected     = 1 << 2,                  
    UIControlStateFocused NS_ENUM_AVAILABLE_IOS(9_0) = 1 << 3, 
    UIControlStateApplication  = 0x00FF0000,              
    UIControlStateReserved     = 0xFF000000               
};

//两者区别?
//NS_ENUM, 取值时只能取其中一个,单选题
//NS_OPTIONS, 可以使用|(或运算符),多选题

//我的使用经验:
//当你的枚举型定义在任意一个.h文件, 比如你封装的view类, 如果vc引入此.h文件,就能直接在vc中使用此枚举类型的.
//在架构级别,可以写在专门的.h文件,并导入.pch文件中


二. 定义Block类型

typedef void(^MyBlock)(UIButtonType type, NSInteger index);

//block的触发,必须先判断self.block是否不为nil;
//正如delegate的方法触发,先判断self.delegte!=nil, 且responseTo方法.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值