IOS的Target-action 设计模式

什么是Target-action设计模式

Target-action设计模式是这样的,一个对象持有必要的信息,包含action selector(要被调用的函数的标识符)和target,当某些事件发生时,发message给target对象。

这个message叫做action message。

 

Target-action的基本流程

IOS的Target-action 设计模式_第1张图片

 

基本的流程是这样的,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对象,然后控制器里面的代码被响应了。

 

转载于:https://www.cnblogs.com/beMaster/p/4998862.html

你可能感兴趣的:(IOS的Target-action 设计模式)