iOS 開發 delegate詳解

首先,讓我們看看為什么要使用delegate。

一個典型的ios應用程序會有各種類型的對象:windows,tables,buttons,input boxes等等。在一個特定的應用程序中,你會讓每個對象做特定的事情。比如說當用戶點擊一個按鈕的時候,會執行一個特定的操作或者使用一個table顯示特定的數據。

每個對象實例會有處理特定的事情。比如說我們有一個UITableView的實例,我們可能會讓它以特定的方式來顯示特定的 數據,同樣的,我們對table的每一行進行tapping或者swiping操作的時候,它們也會做出自己特有的事件處理方式。為了避免為達到某一個特定的目的(actions or events)而創建一個子類(如果有多種不同的特定目的就會創建多個子類),你可以寫出響應這些操作或者事件的方法,它們會在這些操作或者事件發生的時候被調用,為了達到此目的,你只需要給這個對象一個delegate(一個對象)。你可以使一個類作為其他一個對象或者多個對象的delegate。

簡單的說代理就是在類外,讓特定的人對該類做特定的操作的一種實現方法。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • *面試心聲:其實這些題本人都沒怎么背,但是在上海 兩周半 面了大約10家 收到差不多3個offer,總結起來就是把...
    Dove_iOS閱讀 27,210評論 30 471
  • 序言 目前形勢,參加到iOS隊伍的人是越來越多,甚至已經供過于求了。今年,找過工作的人可能會更深刻地體會到今年的就...
    有夢想的老伯伯閱讀 3,036評論 3 96
  • 37.cocoa內存管理規則 1)當你使用new,alloc或copy方法創建一個對象時,該對象的保留計數器值為1...
    如風家的秘密閱讀 887評論 0 4
  • 多線程、特別是NSOperation 和 GCD 的內部原理。運行時機制的原理和運用場景。SDWebImage的原...
    LZM輪回閱讀 2,035評論 0 12
  • 用簡單的圖形組成一幅畫,主體山,樹,旗,天空 布局 ?畫面主體 小山 位置放低,突出天空 為字體展示讓出空間 ...
    H__9閱讀 264評論 0 2