苹果开发中委托代理(degegate)的理解和使用示例
2010-07-22 16:39
573 查看
委托代理(degegate),顾名思义,把某个对象要做的事情委托给别的对象去做。那么别的对象就是这个对象的代理,代替它来打理要做的事。反映到程序中, 首先要明确一个对象的委托方是哪个对象,委托所做的内容是什么。委托机制在很多语言中都用到的,这只是个通用的思想,网上会有很多关于这方面的介绍。
那么在苹果开发过程中,用到委托的程序实现思想如下,我主要拿如何在视图之间传输信息做个例子。譬如:在两个页面(UIIview视 图对象)实现传值,用委托(delegate)可以很好做到。
方法:
@interface A:UIView
id transparendValueDelegate;
@property(nomatic, retain) id transparendValueDelegate;
@end
@implemtion A
@synthesize transparendValueDelegate
-(void)Function
{
NSString* value = @"hello";
[transparendValueDelegate transparendValue: value];
}
@end
类B
@interface B:UIView
NSString* value;
@end
@implemtion B
-(void)transparendValue:(NSString*)fromValue
{
value = fromValue;
NSLog(@"the value is %@ ",value);
}
@end
// 下面的设置A代理委托对象为B
//在定义A和B类对象处:
A* a = [[A alloc] init];
B* b = [[B alloc] init];
a. transparendValueDelegate = b;//设置A代理委托对象为B
这样 在视图A和B之间可以通过委托来传值了。
下面这个例子委托有两类:
1、一个视图类对象的代理对象为父视图,子视图用代理实 现让父视图显示别的子视图
2、同一父视图下的一个子视图为另一个子视图的代理对象,让另一个子视图改变自身背景色为给定的颜色
相关附件: DelegateUseDemo.zip (528 K)
欢迎各位进入论坛参与讨论,本帖地址 http://www.cocoachina.com/bbs/read.php?tid-26591.html
那么在苹果开发过程中,用到委托的程序实现思想如下,我主要拿如何在视图之间传输信息做个例子。譬如:在两个页面(UIIview视 图对象)实现传值,用委托(delegate)可以很好做到。
方法:
@interface A:UIView
id transparendValueDelegate;
@property(nomatic, retain) id transparendValueDelegate;
@end
@implemtion A
@synthesize transparendValueDelegate
-(void)Function
{
NSString* value = @"hello";
[transparendValueDelegate transparendValue: value];
}
@end
类B
@interface B:UIView
NSString* value;
@end
@implemtion B
-(void)transparendValue:(NSString*)fromValue
{
value = fromValue;
NSLog(@"the value is %@ ",value);
}
@end
// 下面的设置A代理委托对象为B
//在定义A和B类对象处:
A* a = [[A alloc] init];
B* b = [[B alloc] init];
a. transparendValueDelegate = b;//设置A代理委托对象为B
这样 在视图A和B之间可以通过委托来传值了。
下面这个例子委托有两类:
1、一个视图类对象的代理对象为父视图,子视图用代理实 现让父视图显示别的子视图
2、同一父视图下的一个子视图为另一个子视图的代理对象,让另一个子视图改变自身背景色为给定的颜色
相关附件: DelegateUseDemo.zip (528 K)
欢迎各位进入论坛参与讨论,本帖地址 http://www.cocoachina.com/bbs/read.php?tid-26591.html
相关文章推荐
- IOS开发中委托代理(degegate)的理解和使用示例
- IOS开发中委托代理(degegate)的理解和使用示例
- IOS开发中委托代理(degegate)的理解和使用示例
- IOS中委托代理(degegate)的理解和使用示例
- IOS开发中委托代理(delegate)的理解和使用示例
- 委托代理(degegate)的理解和使用示例
- degegate的理解和使用示例
- 解决Android开发中简单图标的困扰,FontIcon在Android中的使用示例
- Asp.net 2.0 自定义控件开发专题[详细探讨页面状态(视图状态和控件状态)机制及其使用场景](示例代码下载)
- 苹果要求开发者使用最新的iOS 8和OS X Yosemite测试版开发集成云端服务的应用
- 通过完整示例来理解如何使用 epoll
- android开发glide图片加载框架使用示例
- 通过完整示例来理解如何使用 epoll
- 开发一个使用upstream的示例模块
- 【Qwt】详解Qwt安装、使用、示例(2D画图开发库:曲线、滚动条、仪表盘)
- 如何使用DOTMSN开发简单的MSN机器人示例(附示例源码)
- 使用owc开发报表的示例
- 开发人员为何应该使用苹果电脑,兼Mac OS X 小史
- Spring boot入门系列(二):使用Thymeleaf模板引擎开发Web应用简单示例
- Ubuntu 安装mysql,以及使用C++开发简单示例