Masonry中的mas_equalTo和equalTo区别

以下为mas_equalTo的源码:
#define mas_equalTo(...) equalTo(MASBoxValue((VA_ARGS)))

mas_equalTo()是对equalTo()的宏定义,主要是对equalTo传入的参数进行类型转换,可以让其支持基本数据类型

以下为equalTo的源码:
- (MASConstraint * (^)(id))equalTo {
return ^id(id attribute) {
return self.equalToWithRelation(attribute, NSLayoutRelationEqual);
};
}

通过equalTo的源码可以看出equalTo算是一个get方法,其返回值为block类型,block中的有一个参数类型为id,当我们执行equalTo方法时,需要为其传入id类型的参数,所以equalTo不能传入基本数据类型,但可以包装为NSNumber类型传入

 make.height.equalTo(@100);  

总结: mas_equalTo和equalTo实际上是对布局的效果一样的,只是各自类型不同

你可能感兴趣的:(Masonry中的mas_equalTo和equalTo区别)