概念:
AOP:在軟件業(yè),AOP為Aspect Oriented Programming的縮寫,意為:面向切面編程,通過預(yù)編譯方式和運行期動態(tài)代理實現(xiàn)程序功能的統(tǒng)一維護的一種技術(shù)。利用AOP可以對業(yè)務(wù)邏輯的各個部分進行隔離,從而使得業(yè)務(wù)邏輯各部分之間的耦合度降低,提高程序的可重用性,同時提高了開發(fā)的效率。
主要的功能是:日志記錄,性能統(tǒng)計,安全控制,事務(wù)處理,異常處理等等。
注意:AOP不是一種技術(shù),實際上是編程思想。凡是符合AOP思想的技術(shù),都可以看成是AOP的實現(xiàn)
環(huán)境要求:
iOS 7 + 或 OS X 10.7 +
安裝
- 使用 CocoaPods 安裝
pod "Aspects" - 手動安裝
把文件 Aspects.h/m 拖到工程中即可.
應(yīng)用:
Aspects 給 NSObject 擴展了下面的方法:

EF519D9A-B69B-4183-B617-946973FBC237.png
參數(shù)枚舉:
AspectPositionAfter = 0, /// Called after the original implementation (default)
AspectPositionInstead = 1, /// Will replace the original implementation.
AspectPositionBefore = 2, /// Called before the original implementation.
AspectOptionAutomaticRemoval ///執(zhí)行過之后自動刪除(不是按鈕點擊事件)
具體代碼:

1165F60E-6002-493A-A930-AD3D277E45BD.png
上面涉及到的EventPlist是新創(chuàng)建的plist文件,設(shè)置方式如下:

6227CE87-2DF5-43E2-9C5D-F796E4F79B2A.png
調(diào)用:

B7B1B494-080A-45C5-9826-06FE700D712F.png