美文网首页
masonry学习

masonry学习

作者: 夺光 | 来源:发表于2018-01-24 12:12 被阅读11次

    如果不加入MAS_SHORTHAND_GLOBALS 那么equalTo代表的是一个函数 这个函数还没有组装数据结构

    如果加入了MAS_SHORTHAND_GLOBALS 那么equalTo就是一个宏 会调用mas_equalTo进行数据的包装 包装后就可以响应所有的数据类型

    MASBoxValue包装宏会调用inline函数 inline函数里会判断是否为id类型 如果为id类型直接返回。

    函数与宏名字重复,作用是在预编译阶段用宏来替换函数名,这种做法在预编译后替换为宏内容,这样就没有标识符冲突。

    这样做的好处是可以在后期版本维护时,一直调用函数的名字,其实调用的是宏,由宏来替换实现。(有点像是method swizzing)。

    相关文章

      网友评论

          本文标题:masonry学习

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