IOS 协议和委托的理解
2013-03-23 20:12
288 查看
protocal存在的一个重要意义在于:
正式协议(protocal)可以将业务中的方法定义剥离出来,形成一个单独的文件,这跟传统OO中的提取接口是不谋而合的。如果遇到二个系统需要交换数据,可以制定一套双方都遵守的protocal,然后这二个系统中都把这个协议文件添加到项目中,实现它即可。这一功能,非正式协议(@interface)就做不到。
在obj-c的OO世界中,身为万物之祖的NSObject其实也就一个"正式协议”,所以从NSObject派生出的所有类,都只是在遵守一个或多个协议而已。
protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。
delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。
当一个A view 里面包含了B view
b view需要修改a view界面,那么这个时候就需要用到委托了。
需要几个步骤
1、首先定一个协议
2、a view实现协议中的方法
3、b view设置一个委托变量
4、把b view的委托变量设置成a view,意思就是 ,b
view委托a view办事情。
5、事件发生后,用委托变量调用a view中的协议方法
正式协议(protocal)可以将业务中的方法定义剥离出来,形成一个单独的文件,这跟传统OO中的提取接口是不谋而合的。如果遇到二个系统需要交换数据,可以制定一套双方都遵守的protocal,然后这二个系统中都把这个协议文件添加到项目中,实现它即可。这一功能,非正式协议(@interface)就做不到。
在obj-c的OO世界中,身为万物之祖的NSObject其实也就一个"正式协议”,所以从NSObject派生出的所有类,都只是在遵守一个或多个协议而已。
protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。
delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。
当一个A view 里面包含了B view
b view需要修改a view界面,那么这个时候就需要用到委托了。
需要几个步骤
1、首先定一个协议
2、a view实现协议中的方法
3、b view设置一个委托变量
4、把b view的委托变量设置成a view,意思就是 ,b
view委托a view办事情。
5、事件发生后,用委托变量调用a view中的协议方法
相关文章推荐
- iOS 委托Delegate和协议Protocol的理解和应用
- 关于iOS 委托 代理 协议 的理解
- 常见的选择<数据源协议,委托协议>(IOS发展)
- iOS基础——浅谈个人对协议、代理的理解
- IOS 委托和协议区别和联系
- iOS中的协议与委托
- ios TCP协议的理解(基于Socket【套接字】)
- [置顶] Objective-C ,ios,iphone开发基础:protocol 协议(委托,代理)的声明
- 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
- Objc 协议以及委托 --个人理解
- iOS开发中关于继承、扩展和协议的理解
- ios委托与协议
- IOS-协议的理解和倒计时demo
- ios协议和委托
- Objective-C ,ios,iphone开发基础:protocol 协议(委托,代理)的声明
- 【IOS 开发】Objective - C 面向对象高级特性 - 包装类 | 类处理 | 类别 | 扩展 | 协议 | 委托 | 异常处理 | 反射
- IOS面试题之委托,协议与分类
- 理解object-c委托和协议
- IOS 委托和协议区别和联系
- iOS委托的理解