target...action和delegate的作用都是解耦,降低程序的耦合性.target...action通常用于单个事件(类似button)和完成某一任务,而delegate通常用于监控一系列事件(类似textField).
target...action内部实现为[target performSelector:action withObject:self],继承于Object.在.h文件里声明属性target和action用于保存目标,delegate在.h里声明一个协议,协议名为类名加Delegate,协议里方法至少要有一个参数,参数类型为控件类型.
target...action在外部使用给内部的target,action赋值,可以单独赋值,也可以一起赋值,实现action方法.delegate在外部使用也是给delegate赋值,实现协议中的方法.