iphone开发中,委托、协议、数据源等总结
来源:互联网 发布:你幸福吗我姓曾 知乎 编辑:程序博客网 时间:2024/04/29 20:57
from:
http://blog.sina.com.cn/s/blog_4cd8dd130100t1et.html
其实没那么多繁琐的概念,基本只用代理,协议,数据源就可以了,<委托?什么狗屁概念,搞这么复杂违背了初衷>
简单解释下我的理解
class A
{
B<myProtocol>* pB;
}
class B:NSObject<myProtocol>{}
那么,在A内做完<触发>一件事情的时候,通过pB调用myProtocol声明的一个方法,也就是说:A说,我需要B做一件事情,但是得通过myProtocol来说明
那么这个模型中
数据源:
简单理解就是数据得来源
比方一个表格,那么他得一个数据源就是 数组对象
一个视图,他得数据源可以是一个图片,或者一个字符串等等,就是用来显示得东西。
其实没必要理解得那么复杂,字面理解就差不多了。
objective-c protocol delegate
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中的协议方法
例子:
B_View.h:
@protocol UIBViewDelegate <NSObject>
@optional
- (void)ontouch:(UIScrollView *)scrollView;
@end
@interface BView : UIScrollView<UIScrollViewDelegate>
{
}
@property(nonatomic,assign) id< UIBViewDelegate > _touchdelegate;
@end
B_View.mm:
@synthesize _touchdelegate;
- (id)initWithFrame:(CGRect)frame {
if (self = [super initWithFrame:frame]) {
}
- (void) touchesBegan:(NSSet*)touches withEvent:(UIEvent*)event
{
}
@end
A_View.h:
@interface AViewController : UIViewController < UIBViewDelegate >
{
}
@end
A_View.mm:
- (void)viewWillAppear:(BOOL)animated
{
}
- (void)ontouch:(UIScrollView *)scrollView
{
}
- iphone开发中,委托、协议、数据源等总结
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- iphone开发中,委托、代理、协议、数据源等几个重要概念
- Mac OS开发中,委托、代理、协议、数据源等几个重要概念
- UI -- UITableView 数据源协议与委托协议
- (6) iphone 开发 真正理解委托(delegate)与数据源(data source)
- OC 代理 协议 委托 数据源的概念
- OC 代理 协议 委托 数据源的概念
- OC 代理 协议 委托 数据源的概念
- OC 代理 协议 委托 数据源的概念
- OC 代理 协议 委托 数据源的概念
- OC :代理 协议 委托 数据源的概念
- Objective-C ,ios,iphone开发基础:protocol 协议(委托,代理)的声明
- 编写高质量OC代码52建议总结:23.通过委托与数据源协议进行对象间通信
- 软件开发委托(单位)协议
- iso开发协议和委托
- iphone 开发中 拨打电话等的操作
- SWT模拟Eclipse左侧菜单,简单实现新建工程,新建包,添加用例等功能.
- shell 参考
- Peering Inside the PE: A Tour of the Win32 Portable Executable File Format - Part 2
- 深入理解iPhone委托模式兼谈iPhone生命周期
- 【shell】函数
- iphone开发中,委托、协议、数据源等总结
- 前端神器sublime text 2
- C++程序设计实验报告(三十七)---第四周任务三
- [割点问题]poj_1523_SPF
- 发一张向往的公司图片facebook,感觉很好
- 支付宝接口解析
- Java Robot对象实现服务器屏幕远程监视
- VS2008在win7下不时出现Microsoft Incremental Linker已停止工作
- Python:一个多功能的抓图工具开发(附源码)