LEEAlert:一款优雅的alert框架

LEEAlert:一款优雅的alert框架

小白学习LEEAlert的记录
作者github

LEEAlert

LEEAlertConfigModel

/** 设置 标题 -> 格式: .LeeTitle(@@"") */
@property (nonatomic , copy , readonly ) LEEConfigToString LeeTitle;

- (LEEConfigToString)LeeTitle{
    __weak typeof(self) weakSelf = self;
    return ^(NSString *str){
        return weakSelf.LeeAddTitle(^(UILabel *label) { 
            label.text = str;
        });  
    };  
}

这是属性是 一个LEEConfigToString block类型的 变量。
LEEConfigToString block类型 是一个具有一个NSString 为参数,LEEAlertConfigModel为返回值的block类型。


所以这里return一个NSString对象为参数的一个blockA,这个blockA的实现中return 一个blockB的返回值
blockB 的返回值正是LEEAlertConfigModel


这样blockA就是一个以NSString对象为参数,以LEEAlertConfigModel为返回值的block。就是LEEAlertConfigModel类型的block


return ^(NSString *str) {
    LEEAlertConfigModel *model = [LEEAlertConfigModel new];
    return model;
};

这就是返回了一个blockA。该block以NSString 对象为参数,以LEEAlertConfigModel对象为返回值。
调用的时候 blockA 的值就是LEEAlertConfigModel对象。
可以把这个blockA当做LEEAlertConfigModel对象。

整个框架汇中进行传递的都是block变量,block中是具体的实现,在show()中才真正的执行各个block。

你可能感兴趣的:(LEEAlert:一款优雅的alert框架)