IOS之Delegate
来源:互联网 发布:易分销 源码 编辑:程序博客网 时间:2024/06/06 09:37
在IOS中我们通过协议来实现多继承,因此,有必要对Delegate的实现掌握好。
首先,我们先掌握如何声明一个协议。
@protocol ViewControllerDelegate <NSObject>@required@optional@end
在上述代码中我们声明了一个ViewControllerDelegate的协议,协议中的@require表示对应的方法必须要被遵循,@optional表示对应的方法可以被选择性遵循。
当我们完成协议的声明之后就要设置对应的代理,设置代理的途经主要有两种,一种是通过对外接口的方式设置,另一种是通过初始化函数的方式设置。
1、对外接口方式设置
@property (nonatomic,weak) id <ViewControllerDelegate> delegate;
2、初始化函数方式设置
- (id)initWithDelegate:(id<ViewControllerDelegate>)pDelegate;
正如前面所讲,我们在声明协议的时候既有@require方法又有@optional方法。如果我们有如下一个方法:
- (void)viewController:(ViewController*)pViewController receivedData:(NSString*)pString;
这个方法在协议中被声明,那么我们就要在代码中实现它,首先,我们会在声明代理的类中调用代理方法:
[_delegate viewController:self receivedData:nil];
这样外界所有遵循这个协议的类就能接受到回调。而我们在遵循协议的类中所要做的事情就是实现代理方法:
- (void)viewController:(ViewController *)pViewController receivedData:(NSString *)pString{ }
通过上述的整个流程我们就完成了Delegate的设计过程。
- IOS之Delegate
- iOS 开发学习之 delegate
- iOS之代理delegate使用
- IOS for delegate 之我见
- iOS之Delegate设计模式
- iOS 之美:iOS Delegate 使用五步曲
- iOS 之美:iOS Delegate 使用五步曲
- iOS 之美:iOS Delegate 使用五步曲
- iOS开发之protocol和delegate
- ios开发之delegate那点事儿
- IOS设计模式之二:Delegate模式
- IOS设计模式之二:Delegate模式
- IOS设计模式之二:Delegate模式
- ios之Category,Extension,Protocol,delegate
- ios开发之delegate那点事儿
- IOS设计模式之二:Delegate模式
- iOS开发之protocol和delegate
- IOS设计模式之二:Delegate模式
- 程序员那点事
- 两个表,多条数据循环,游标+存储过程
- 电商大战引发的思考
- hdu oj 2011
- mybatis 学习2
- IOS之Delegate
- 查看linux是32位还是64位
- linux 命令整理
- extjs4 appendChild 添加节点后不显示问题的解决
- Db Attribute(Custom ORM ) Usage
- 分层架构下的纯JDBC事务控制简单解决方案
- ffmpeg源代码简单分析 :avcodec_decode_video2()
- android中用Spannable在TextView中设置超链接、颜色、字体
- Ubuntu的IP地址设置和查看