美文网首页
LEEAlert:一款优雅的alert框架

LEEAlert:一款优雅的alert框架

作者: 不存在的昵称 | 来源:发表于2018-07-09 16:20 被阅读0次

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
参数为BOOLis
返回值为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));

定义了一个LEEConfigToConfigLabelblock数据类型
类型名称为LEEConfigToConfigLabel
参数:

  • void(^)(UILabel *label)block,一个block变量,这个block变量没有类型名称,只带有一个参数,参数为UILabel *label对象

返回值为LEEAlertConfigModel *LEEAlertConfigModel对象。


带有两个参数的block,一个参数为‘ NSString ’,一个参数为‘ 普通block ’

typedef LEEAlertConfigModel *(^LEEConfigToStringAndBlock)(NSString *str , void (^)(void));

定义了一个LEEConfigToStringAndBlockblock数据类型
类型名称为LEEConfigToStringAndBlock
参数:

  1. void(^)(UILabel *label)block,一个block变量
  • 这个block变量带有一个参数,参数为UILabel *label对象
  1. NSString的str,字符串变量

返回值为LEEAlertConfigModel *LEEAlertConfigModel对象。


带有‘ 两个block ’作为参数的block,两个参数都为block

typedef LEEAlertConfigModel *(^LEEConfigToBlockAndBlock)(void(^)(void (^animatingBlock)(void) , void (^animatedBlock)(void)));

定义了一个LEEConfigToBlockAndBlockblock数据类型
类型名称为LEEConfigToBlockAndBlock
参数:

  1. void(^)(void (^animatingBlock)(void)block,一个block变量
  • block 类型名称为:animatingBlock
  • 参数为void
  • 返回值为void
  1. void(^)(void (^animatedBlock)(void)block,一个block变量
  • block 类型名称为:animatedBlock
  • 参数为void
  • 返回值为void

返回值为LEEAlertConfigModel *LEEAlertConfigModel对象。

相关文章

网友评论

      本文标题:LEEAlert:一款优雅的alert框架

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