###一句話描述消息機制編程
通知:在iOS中由通知中心進行消息接收和消息廣播,是一種一對多的消息傳遞方式。 代理:是一種通用的設計模式,iOS中對代理支持的很好,由代理對象、委託者、協議三部分組成。 block:iOS4.0中引入的一種回調方法,能夠將回調處理代碼直接寫在block代碼塊中,看起來邏輯清晰代碼整齊。 target action:經過將對象傳遞到另外一個類中,在另外一個類中將該對象當作target的方式,來調用該對象方法,從內存角度來講和代理相似。 KVO:NSObject的Category-NSKeyValueObserving,經過屬性監聽的方式來監測某個值的變化,當值發生變化時調用KVO的回調方法。 RAC,函數式編程和響應式編程,解決複雜狀態間的依賴關係,解決MVC的耦合問題。
###非正式協議swift
在iOS2.0以前尚未引入@Protocol正式協議以前,實現協議的功能主要是經過給NSObject添加Category的方式。這種經過Category的方式,相對於iOS2.0以後引入的@Protocol,就叫作非正式協議。
###正式協議設計模式
咱們都知道非正式協議了,那麼正式協議就不用闡述了。
###stack (棧)對象的建立函數式編程
只要棧的剩餘空間大於stack 對象申請建立的空間,操做系統就會爲程序提供這段內存空間,不然將報異常提示棧溢出。函數
###heap (堆) 對象的建立操作系統
操做系統對於內存heap 段是採用鏈表進行管理的。操做系統有一個記錄空閒內存地址的鏈表,當收到程序的申請時,會遍歷鏈表,尋找第一個空間大於所申請的heap 節點,而後將該節點從空閒節點鏈表中刪除,並將該節點的空間分配給程序。.net
例如: NSString 的對象就是stack 中的對象,NSMutableString 的對象就是heap 中的對象。前者建立時分配的內存長度固定且不可修改;後者是分配內存長度是可變的,可有多個owner, 適用於計數管理內存管理模式。
###獲取幫助設計
創新源於一種感受! http://go-swift.net代理
###打賞鼓勵code