自定义Delegate(协议)的实现与继承
来源:互联网 发布:mina 收不到数据 编辑:程序博客网 时间:2024/05/19 07:11
举个例子,也谈谈我对delegate和protocol的理解。
我上班的工作主要内容包括 (1)写代码(2)写文档(3)测试程序(4)接电话(5)会见客户(1)(2)我自己全权负责,但是后面(3)(4)(5)我不想或者不方便自己做,所以我想找个助手(delegate)帮我做这些事,于是我定了一个招聘要求(Protocol),里写明我的助手需要会做(3)(4)(5)这三件事。很快,我招到一个助手。
我.delegate = 助手;
于是以后每当我遇到需要测试程序或者接电话的活,我就把他转交给助手(delegate)去处理,助手处理完后如果有处理结果(返回值)助手会告诉我,也许我会拿来用。如果不需要或者没有结果,我就接着做下面的事。。
今天做东西用到了协议,这里在写一下吧
//celltwo类
@interface CellTwo : UITableViewCell {
IBOutlet UIButton *btn;
id delegate;
}
@property (assign) id delegate;
@property (nonatomic,retain) UIButton *btn;
-(IBAction)click:(id)sender; //按钮响应函数
@end
//协议
@protocol cellItemTwoDelegate
@optional
-(void)onCellItem:(int)index;
@end
这里定义一个类和一个协议,celltwo类里面有一个button。
下面在另外一个类里面要用到celltwo。
@interface AssortController : UIViewController
<cellItemDelegate>{
CellTwo *celltwo;
}
- (void)onCellItem:(int)index{
NSLog(@”onCellItem tag:%d”,index);
}
AssortController使用了cellItemDelegate协议,并且实现了协议里面的函数,然后记得
celltwo.delegate = self;
然后当我们点下按钮的时候会调用click,我们在click里面在调用协议定义的函数,
-(IBAction)click:(id)sender{
UIButton *button = (UIButton *)sender;
[delegate onCellItem:button.tag];
}
这样就会打印出来onCellItem tag:%d 这个了, 很简单,类似于C++的重虚函数。
- 自定义Delegate(协议)的实现与继承
- 自定义Delegate(协议)的实现与继承
- 自定义Cell上的按钮--delegate协议的实现
- iOS中自定义delegate的实现
- 自定义协议protocol(delegate)传值的步骤
- 需求:iOS自定义protocol与delegate来实现类似java的接口回调功能
- delegate协议实现一对多
- protocol与delegate,代理(委托)与协议总结
- Protocol 协议 与 delegate 代理
- 在自定义的delegate实现中注意 判断delegate有没有实现响应的@protocol方法
- QTableWidget 实现自定义代理(delegate)
- 基于Java Socket的自定义协议,实现Android与服务器的长连接(一)
- 基于Java Socket的自定义协议,实现Android与服务器的长连接(二)
- 基于Java Socket的自定义协议,实现Android与服务器的长连接(二)
- 基于Java Socket的自定义协议,实现Android与服务器的长连接(一)
- 自定义类的copy实现(实现NSCopying协议)
- android继承View实现复杂的自定义控件(1)
- 快速理解ios的委托协议代理(delegate)
- java 集合操作
- 一些嵌入式概念
- 如果是你你会如何宣告“我们已经被收购了”?
- 源码 -- Cocoachina游戏特效大赛 – cocos2d/cocos2dx 演示程序
- 公网帐号密码chinanet
- 自定义Delegate(协议)的实现与继承
- windows 2008的计划任务执行问题
- Android中dp和px之间进行转换
- EL表达式 (详解)
- Crawler Index Page
- ASP.NET MVC 4 Bundles
- tcl expect 安装
- 服务器端保存viewstate
- Win32串口编程