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賦值,實現協議中的方法.