一種簡單粗暴設置delegate的方法

ios開發經常會遇到協議的使用,在不同的視圖間、對象傳值或穿事件,下面主要記錄視圖對象怎麼設置代理。


首先區分一下協議和代理的概念:IOS開發之協議和代理

http://mobile.51cto.com/hot-404773.htm


使用協議的一般步驟:iOS 之美:iOS Delegate 使用五步曲

http://leopard168.blog.163.com/blog/static/168471844201307112149221/


通常,一個delegate的使用過程,需要經過五步:

1.     創建一個 delegate;

2.    委託者聲明一個delegate;

3.    委託者調用delegate內的方法(method);

4.    被委託者設置delegate,以便被委託者調用;

5.    被委託者實現Delegate 所定義的方法。

第1、2、3步可能問題都不大,第4步代理的設置有時候會因爲視圖的複雜關係而不能快速地設置正確,如果你使用可視化的故事板設計視圖,這個問題就容易解決了。

解決方法:使用storyboarID

在storyboard(故事板)上每個viewcontroller(視圖控制器)都有storyboardID這個屬性

    ctroller = [[UIStoryboard storyboardWithName:@"storyboardName" bundle:nil] instantiateViewControllerWithIdentifier:@"ctrollerName"];
    delegate = ctroller;




發佈了22 篇原創文章 · 獲贊 8 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章