LEEAlert:一款优雅的alert框架
小白学习LEEAlert的记录
作者github
LEEAlertHelper
- LEEAlertHelper.h
一个专门用来定义各种数据类型的文件,包括了各种枚举NS_ENUM
类型 和 别名typedef
了框架内用到的各个block
类型。
如:
typedef NS_ENUM(NSInteger, LEEScreenOrientationType) {
/** 屏幕方向类型 横屏 */
LEEScreenOrientationTypeHorizontal,
/** 屏幕方向类型 竖屏 */
LEEScreenOrientationTypeVertical
};
typedef NS_OPTIONS(NSInteger, LEEActionBorderPosition) {
/** Action边框位置 上 */
LEEActionBorderPositionTop = 1 << 0,
/** Action边框位置 下 */
LEEActionBorderPositionBottom = 1 << 1,
/** Action边框位置 左 */
LEEActionBorderPositionLeft = 1 << 2,
/** Action边框位置 右 */
LEEActionBorderPositionRight = 1 << 3
};
这两个枚举,
- 一个是普通的常量枚举
- 使用
NS_ENUM
定义
- 使用
- 另一个是位枚举。
- 使用
NS_OPTIONS
定义
- 使用
重点
普通的block
typedef LEEAlertConfigModel *(^LEEConfig)(void);
定义了一个
LEEConfig
block数据类型。
类型名称为LEEConfig
参数为void
返回值为LEEAlertConfigModel *
的LEEAlertConfigModel
对象
带有一个参数的block
typedef LEEAlertConfigModel *(^LEEConfigToBool)(BOOL is);
定义了一个
LEEConfigToBool
block数据类型
类型名称为LEEConfigToBool
参数为BOOL
的is
返回值为LEEAlertConfigModel *
的LEEAlertConfigModel
对象。
带有一个‘ 普通block ’作为参数的block
typedef LEEAlertConfigModel *(^LEEConfigToBlock)(void(^block)(void));
定义了一个
LEEConfigToBlock
block数据类型
类型名称为LEEConfigToBlock
参数:
void(^block)(void)
的block
,一个block变量返回值为
LEEAlertConfigModel *
的LEEAlertConfigModel
对象。
带有一个‘ 有一个参数block ’作为参数的block
typedef LEEAlertConfigModel *(^LEEConfigToConfigLabel)(void(^)(UILabel *label));
定义了一个
LEEConfigToConfigLabel
block数据类型
类型名称为LEEConfigToConfigLabel
参数:
void(^)(UILabel *label)
的block
,一个block变量,这个block变量没有类型名称,只带有一个参数,参数为UILabel *
的label
对象返回值为
LEEAlertConfigModel *
的LEEAlertConfigModel
对象。
带有两个参数的block,一个参数为‘ NSString ’,一个参数为‘ 普通block ’
typedef LEEAlertConfigModel *(^LEEConfigToStringAndBlock)(NSString *str , void (^)(void));
定义了一个
LEEConfigToStringAndBlock
block数据类型
类型名称为LEEConfigToStringAndBlock
参数:
void(^)(UILabel *label)
的block
,一个block变量
- 这个block变量带有一个参数,参数为
UILabel *
的label
对象
NSString
的str,字符串变量返回值为
LEEAlertConfigModel *
的LEEAlertConfigModel
对象。
带有‘ 两个block ’作为参数的block,两个参数都为block
typedef LEEAlertConfigModel *(^LEEConfigToBlockAndBlock)(void(^)(void (^animatingBlock)(void) , void (^animatedBlock)(void)));
定义了一个
LEEConfigToBlockAndBlock
block数据类型
类型名称为LEEConfigToBlockAndBlock
参数:
void(^)(void (^animatingBlock)(void)
的block
,一个block变量
- block 类型名称为:
animatingBlock
- 参数为
void
- 返回值为
void
void(^)(void (^animatedBlock)(void)
的block
,一个block变量
- block 类型名称为:
animatedBlock
- 参数为
void
- 返回值为
void
返回值为
LEEAlertConfigModel *
的LEEAlertConfigModel
对象。
网友评论