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;