IOS 协议和代理模式 With小demo
来源:互联网 发布:千牛淘宝商品怎么分类 编辑:程序博客网 时间:2024/05/17 02:05
IOS中所谓协议有点类似于Java中的接口,是一种类的标识符,在IOS中用Protocol关键字申明。
格式为:@Prototocl 协议名 。如定义一个名为MyProtocol的协议。
<span style="font-size:18px;">@protocol MyProtocol// 协议方法@required// 必须实现的方法-(void)requiredMethod;@optional// 可选实现的方法</span>
IOS IOS为了降低程序内部的耦合度,所代理这一概念。理这一概念。
代理:一种设计模式,作用就是降低程序的耦合度,提高程序的可移植性和可复用性。代理:一种设计模式,作用就是降低程序的耦合度,提高程序的可移植性和可复用性。
如下是一个小Demo如下是一个小Demo
场景:一个人A开车来聚会,由于经不住朋友的劝酒,喝了些酒,聚会完后各回各家,这个A叫了一个代驾B,让其开车回家。在这里代驾B有一个前提就是会开车。在这里用程序实现如下:场景:一个人A开车来聚会,由于经不住朋友的劝酒,喝了些酒,聚会完后各回各家,这个A叫了一个代驾B,让其开车回家。在这里代驾B有一个前提就是会开车。在这里用程序实现如下:
开车协议:DriveProtocol
<span style="font-size:18px;">@protocol DriveProtocol@required-(void)driveCar;@end</span>
代驾B
<span style="font-size:18px;">#import <Foundation/Foundation.h>#import "DriveProtocol.h"@interface B : NSObject <DriveProtocol>@end#import "B.h"@implementation B-(void)driveCar{ NSLog(@"三方将开车");}@end</span>
用户A类
<span style="font-size:18px;">@interface A ()@property (nonatomic, strong) id<DriveProtocol> delegate;@end@implementation A- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. B *B = [[B alloc]init]; _delegate = B; [self driveCar]; }-(void)driveCar{ if (_delegate ) { [_delegate driveCar]; }}</span>
0 0
- IOS 协议和代理模式 With小demo
- IOS开发---协议和代理模式
- ios 协议和代理
- 5.3 iOS开发视频教程—协议和代理设计模式
- 协议(delegate)和代理模式
- 论ios代理和协议
- JDK和Cglib动态代理小demo
- IOS-协议的理解和倒计时demo
- 代理模式-静态代理Demo
- iOS设计模式学习 (二) OC协议之接口继承和代理设计
- 代理设计模式Demo
- Protocol 协议和Delegate代理模式
- 协议和代理模式的概念
- IOS开发之协议和代理
- iOS复习笔记11:协议和代理
- iOS开发之协议和代理
- IOS开发之协议和代理
- 系列:iOS开发-协议和代理
- 最好用的服务器定时自动关机或重启软件
- .Net魔法堂:AssemblyInfo.cs文件详解
- radio与checkbox样式
- Linux内核移植 part4:总线设备模型
- Android 属性动画实现抛物线动画
- IOS 协议和代理模式 With小demo
- leetcode-java-318. Maximum Product of Word Lengths
- 通向自由的钥匙
- java获取服务器地址
- 020-寻找图的关节点-dfs-《算法设计技巧与分析》M.H.A学习笔记
- jackson joda time序列化
- lua学习笔记--两个实例(markov chain 和 递归上台阶算法)
- 实习杂记(26):Java 8十个lambda表达式案例
- libevent学习笔记 - 2 event_base