什么是Target-action设计模式
Target-action设计模式是这样的,一个对象持有必要的信息,包含action selector(要被调用的函数的标识符)和target,当某些事件发生时,发message给target对象。
这个message叫做action message。
Target-action的基本流程
基本的流程是这样的,UIControl子类对象,例如UIButton 的对象aControl, 该对象注册了一个action method,该action method的函数名是restoreDefaults,该函数是在controller中实现的,注册实际上做的是aControl ①持有了该方法的selector,②持有实现该方法的对象的引用(这个引用叫做target)。
上面的工作是编写代码的时候做好的。
用户点击屏幕上的UIButton对象aControl时,UIApplication对象会调用- (void)sendAction:(SEL)action
to:(id)target
forEvent:(UIEvent *)event方法,
该方法会通过target对象使用action seletor所对于的方法。
所以具体的感觉就是,我们点击了UIButton对象,然后控制器里面的代码被响应了。