91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iOS 代理與通知,kvc和kvo的區別

發布時間:2020-07-08 04:47:22 來源:網絡 閱讀:752 作者:大頭狼小鬼 欄目:移動開發

通知

通知需要有一個通知中心:NSNotificationCenter,自定義通知的話需要給一個名字,然后監聽。

優點:通知的發送者和接受者都不需要知道對方。可以指定接收通知的具體方法。通知名可以是任何字符串。

缺點:較鍵值觀察(KVO)需要多點代碼,在刪掉前必須移除監聽者。

協議

通過setDelegate來設置代理對象,最典型的例子是常用的TableView.

優點:支持它的類有詳盡和具體信息。

缺點:該類必須支持委托。某一時間只能有一個委托連接到某一對象。

KVO 的優點:
 
當有屬性改變,KVO 會提供自動的消息通知。這樣開發人員不需要自己去實現這樣的方案:每次屬性改變了就發送消息通知。

這是 KVO 機制提供的最大的優點。因為這個方案已經被明確定義,獲得框架級支持,可以方便地采用。

開發人員不需要添加任何代碼,不需要設計自己的觀察者模型,直接可以在工程里使用。

其次,KVO 的架構非常的強大,可以很容易的支持多個觀察者觀察同一個屬性,以及相關的值。

KVC 的實現分析

KVC 運用了一個 isa-swizzling 技術。

isa-swizzling 就是類型混合指針機制。KVC 主要通過 isa-swizzling,來實現其內部查找定位的。

isa 指針,就是 is a kind of 的意思,指向維護分發表的對象的類。該分發表實際上包含了指向實現類中的方法的指針和其它數據。

http://www.isaced.com/post-201.html

http://blog.csdn.net/ajrm0925/article/details/7416419


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

ios
AI

青铜峡市| 南涧| 土默特右旗| 明溪县| 丽江市| 怀来县| 凤翔县| 英山县| 天镇县| 湘潭市| 安徽省| 乌鲁木齐县| 平塘县| 正蓝旗| 竹山县| 新疆| 剑河县| 万全县| 安国市| 万载县| 宁陵县| 蒲江县| 雷山县| 宁南县| 威远县| 平乐县| 全南县| 宿迁市| 天镇县| 聂荣县| 大悟县| 云和县| 东丰县| 曲靖市| 兴国县| 平邑县| 巴青县| 阿瓦提县| 治县。| 禄丰县| 苏尼特左旗|