一、我们说,这个碰撞行为啊,collision,它里边还有一个属性,叫做action,它能够干什么,它能够实时的去监听, 1.实时的去监听,我们当前的这个view的一个frame的变化, 它会调用action的方法,实际上,action方法,它是一个block,然后呢,view的frame变化的时候,它会一直调用这个block, 然后呢,你可以在这个block里边,去做一些你想做的事情,比如说,去输出这个view的frame的一个变化, 我们现在啊,先来把之前的代码,复制一份儿, 改个名字,叫做:06-碰撞行为-action, command + R, 我们现在呢,红色的View,是在这一块儿, 我们现在需要干什么,我们现在呢,需要红色的View,下落一点儿点儿, 下落一点儿点儿,我就监听一次, 实时的去监听它,然后,我可以,去输出红色View的一个frame, 我也可以当它的下落幅度超过100的时候,我可以给它换一个颜色,或者说怎么怎么样, 然后呢,我现在就是要,实时的去监听它的frame,啊, 2.然后呢,这个里边,在这个collision里边,它有一个叫做action的属性, // action 实时监听 collision.action = void (^)(void) action: 这个action,是一个什么类型的,是一个block类型的啊, collision.action = ^ block类型的啊,来一个尖尖,^, 它是一个没有参数,没有返回值的一个block, 然后,这个里边啊,就相当于是,这个首先干什么的,你在这儿写一个block过来,^{ statements };