【IOS学习】Objective-C 协议,以及demo
2014-06-30 17:14
435 查看
协议:类似于C++纯虚基类,提供方法,由其他类实现。
委托:类似于java的接口,接口定义了方法,由其他的类申明实现接口,并实现接口。
委托实际上是一个过程、一种实现方式,由另一个类来完成一个类的操作
可以参照此贴查看委托的另类实现
http://blog.csdn.net/zhuiyi316/article/details/7818149
但是可以看到那种实现是通过类作为另一个类的属性完成的
OC的协议实际上是为了解耦而产生的,目的就是为了让程序更加简单,容易扩充
详细代码参照:https://github.com/caigee/iosdev_sample下的
DelegateSample
委托:类似于java的接口,接口定义了方法,由其他的类申明实现接口,并实现接口。
委托实际上是一个过程、一种实现方式,由另一个类来完成一个类的操作
可以参照此贴查看委托的另类实现
http://blog.csdn.net/zhuiyi316/article/details/7818149
但是可以看到那种实现是通过类作为另一个类的属性完成的
OC的协议实际上是为了解耦而产生的,目的就是为了让程序更加简单,容易扩充
@protocol textSendDelegate; @interface NextVC : UIViewController // 协议的实例 @property (nonatomic,assign)id<textSendDelegate> delegate; @end // 协议的声明 @protocol textSendDelegate <NSObject]]> //一定要实现的 @required -(void)textSend:(NSString *)textString; //可选实现 @optional -(void)logOfTextSend; @end
// 协议方法的触发 if (self.delegate && [self.delegate respondsToSelector:@selector(textSend:)]) { [self.delegate textSend:_myTextField.text]; } if (self.delegate && [self.delegate respondsToSelector:@selector(logOfTextSend)]) { [self.delegate logOfTextSend]; }
// 申明协议实现 @interface RootVC : UIViewController<textSendDelegate> //协议的绑定 NextVC *next = [[NextVC alloc]init]; next.delegate =self; // 协议实现 -(void)textSend:(NSString *)textString { self.displayLabel.text = textString; } -(void)logOfTextSend { NSLog(@"a text is send to RootVC"); }
详细代码参照:https://github.com/caigee/iosdev_sample下的
DelegateSample
相关文章推荐
- iOS学习笔记2 Retain、Copy以及Copy协议探讨
- 【IOS学习】Core Data 框架学习笔记,以及demo
- ios学习路线—Objective-C(Runtime 协议与分类)
- ios_ui 学习demo以及参考网站
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习
- 【IOS 开发学习总结-OC-20】★★★objective-c面向对象——协议(protocol)
- 【IOS学习】Core Graphics 框架学习笔记,以及demo
- IOS学习笔记--Objective-C之协议、代码块、分类
- ios学习笔记(二)之Objective-C类、继承、类别和协议 - superlucky
- iOS学习笔记07—Objective-C 委托、非正式协议、正式协议
- ios学习笔记(二)之Objective-C类、继承、类别和协议
- 【IOS学习】Core Image 框架学习笔记,以及demo
- 黑马程序员——Objective-C程序设计(第4版)学习笔记之11-分类和协议——黑马 IOS 技术博客
- iOS学习(二十七)Objective-C 协议
- iOS学习笔记56(Runtime)-Objective-C Runtime 运行时之五:协议与分类
- 【IOS学习】Core Graphics 框架学习笔记,以及demo
- IOS学习记录-Objective-c类和协议
- 【IOS学习】Core Animation 学习笔记,以及demo
- IOS 开发学习(1): 学习纲领以及Objective-C 基本语法学习