objective-c中的代理模式哪位大虾能具体解释一下 刚学了代理模式 但是还是不是很清楚希望能够用些简单的例子解释一下 谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你说得是delegate?如果是,你可以简单理解为一个函数指针得回调;只不过这个回调比较面型对象化而已。 嗯 就是delegate 您说的对 您能举个实际例子说明一下吗 我还是不太明白谢谢 主要通过协议来实现。百度一下一大堆,http://leopard168.blog.163.com/blog/static/168471844201111411729597/ OBJC中的代理就是回调,学过symbian的人可以认为是观察者。学过C++的可以认为是纯虚类学过JAVA的可以认为是接口类 协议说白了就是一种契约。需要交互的双方遵守的一种约束。而这里提到的是“代理协议”概念,这应该是一种解决对象交互解藕的一种设计模式。比如如下场景:有两个对象A和B,A中一个方法需要调用B中一方法,我们通常会在A中添加B的指针应用,这样做没有问题,但是有可能我们在B的对象中还需要调用A的方法,如果还按这种设计,很可能会出现循环引用。其实对象在交互的过程无非承担二种角色,1.数据接收者,2.数据发送者。在“代理协议”这个模型中,数据发送者包含数据接收者的指针。@interface MyWidget:BaseWidget { id<BaseWidgetDelegate> delegate;}@property (assign) id <BaseWidgetDelegate> delegate;@end而数据接收者则需要实现协议@protocal BaseWidgetDelegate;@interface WidgetManager:NSObject<BaseWidgetDelegate> ....@end iphone开发中的拍照问题 ios5 sqlite怎样设置串行模式? 求解:"预置描述文件已过期"是怎么回事! 横竖屏转换以及一些小问题 如何制作IOS端的电子杂志! iOS开发:“分享到QQ空间”的实现方法? object-c怎么在线程中显示图片 IOS7如何刷回IOS6? IOS 用代码忽略蓝牙设备? iOS 启动页黑屏问题 有没有可录入的tableviewcell? 如何向tableview增加cell
我还是不太明白
谢谢
http://leopard168.blog.163.com/blog/static/168471844201111411729597/
学过C++的可以认为是纯虚类
学过JAVA的可以认为是接口类
其实对象在交互的过程无非承担二种角色,1.数据接收者,2.数据发送者。在“代理协议”这个模型中,数据发送者包含数据接收者的指针。
@interface MyWidget:BaseWidget {
id<BaseWidgetDelegate> delegate;
}
@property (assign) id <BaseWidgetDelegate> delegate;
@end而数据接收者则需要实现协议
@protocal BaseWidgetDelegate;
@interface WidgetManager:NSObject<BaseWidgetDelegate>
....
@end