協議和代理對於一個新手來說確實不討好理解,也有很多的iOS開發的老手對此是懂非懂的。網上的很多博文只是講了怎么使用,並沒有說的很明白。下面我談一下我的理解。 1.你要先搞明白,協議和代理為什么會出現,也就是說它存在的意義是什么,解決了什么問題。 協議和代理是模塊化開發和封裝的產物。 先講一個小 ...
前言:因為Object C是不支持多繼承的,所以很多時候都是用Protocol 協議 來代替。Protocol 協議 只能定義公用的一套接口,但不能提供具體的實現方法。也就是說,它只告訴你要做什么,但具體怎么做,它不關心。 當一個類要使用某一個Protocol 協議 時,都必須要遵守協議。比如有些必要實現的方法,你沒有去實現,那么編譯器就會報警告,來提醒你沒有遵守 協議。注意,我這里說的是警告,而 ...
2015-01-08 15:23 3 9737 推薦指數:
協議和代理對於一個新手來說確實不討好理解,也有很多的iOS開發的老手對此是懂非懂的。網上的很多博文只是講了怎么使用,並沒有說的很明白。下面我談一下我的理解。 1.你要先搞明白,協議和代理為什么會出現,也就是說它存在的意義是什么,解決了什么問題。 協議和代理是模塊化開發和封裝的產物。 先講一個小 ...
協議與委托代理回調在之前的博客中也是經常提到和用到的在《Objective-C中的委托(代理)模式》和《iOS開發之窺探UICollectionViewController(四) --一款功能強大的自定義瀑布流》等博客內容中都用到的Delegate回調。說到協議,在Objective-C中也是 ...
剛開始做iOS開發的時候,對 protocol、delegate 的理解一直都是暈暈乎乎一知半解的狀態,不知道兩個UIViewController之間怎么進行傳值。 面試過幾個童鞋,問道怎么用 delegate 對 兩個 UIViewController 進行傳值的時候,回答的都是模棱兩可 ...
委托其實並不是OC中才有,C#中也有,不過彼此的理解方式是不一樣的,OC中委托是協議的一種,需要使用@protocol聲明,委托一般在iOS開發中頁面中傳值用的比較多。委托是Cocoa中最簡單、最靈活的模式之一,委托其實字面上的意思就是將需要的事情委托給別人做,業務場景可以參考主視圖和子視圖之間 ...
Protocol是ios開發中的一個難點也是一個重點,要想使用好,或者理解好它,可能需要時間的累積。今天我們就通過一個例子來簡單的看一下,怎么樣使用protocol。 我們今天用的例子就是模擬電腦插入usb設備來剖析一下protocol的使用。 我們首先來想一下,我們的usb設備 ...
delegate protocol 是objective-c 語法的一部分 但他們兩個卻完全不是一回事。主要是我們經常在同一個文件里見到這兩個東西 protocol(協議)我的理解就是定義這么一個東西。以后就按這里的規定來辦事。 delegate(委托) 就是把事情委托給別人去辦 ...
昨天做了一個demo,用到了簡單代理。 delegate是ios編程的一種設計模式。我們可以用這個設計模式來讓單繼承的objective-c類表現出它父類之外類的特征。昨天這個代理實現如下: 類GifView是繼承自UIView的,它加載在RootViewController上來通過一個 ...
iOS中的協議說白了就是方法的聲明,只聲明不需要實現,實現的部分由遵守協議方完成. 先看個協議的小例子:這個例子是先給出兩個協議,再創建兩類人遵守協議. 流氓協議(RogueDelegate.h) 君子協議(GentleDelegate.h) 遵守協議的對象 ...