协议的代理模式
来源:互联网 发布:ubuntu下载火狐浏览器 编辑:程序博客网 时间:2024/05/18 00:37
协议的代理模式
#import <Foundation/Foundation.h>
@protocol TicketDelegate <NSObject>
//返回票价
- (double) ticketPrice;
//还剩多少张票
- (int) leftTicketsNumber;
@end
#import <Foundation/Foundation.h>
#import "TicketDelegate.h"
@interface Person :NSObject
@property (nonatomic,retain)id<TicketDelegate> delegate;
- (void) buyTicket;
//拥有一个代理属性
//id代表代理的类名随便
//但必须遵守TicketDelegate协议
@end
#import "Person.h"
@implementation Person
//买票
- (void) buyTicket
{
//叫代理去帮自己买票
double price = [_delegateticketPrice];
int number = [_delegateleftTicketsNumber];
NSLog(@"通过代理的帮忙,票价=%f,还剩%d张票", price, number);
}
- (void)dealloc
{
[_delegate release];
[superdealloc];
}
@end
#import <Foundation/Foundation.h>
#import "TicketDelegate.h"
@interface Agent :NSObject <TicketDelegate>
@end
#import "Agent.h"
@implementation Agent
//剩余的票数
- (int)leftTicketsNumber
{
return 1;
}
//每张票多少钱
- (double)ticketPrice
{
return 100;
}
@end
#import <Foundation/Foundation.h>
#import "Person.h"
#import "TicketDelegate.h"
#import "Agent.h"
int main(int argc,const char * argv[]) {
@autoreleasepool {
// 创建一个Person类的对象
Person *p = [[Personalloc] init];
Agent *a = [[Agentalloc] init];
p.delegate = a;
[pbuyTicket];
}
return 0;
}
- 协议的代理模式
- 协议和代理模式的概念
- 协议的应用—代理设计模式
- 协议(delegate)和代理模式
- 黑马程序员_ 利用oc的协议实现代理模式
- 学习笔记:OC的protocol协议及代理设计模式
- 协议代理的实现
- OC视频笔记5.4(协议的定义与使用)(代理设计模式)(代理设计模式思想)
- 委托代理设计模式(协议)
- 8、协议Delegate代理模式-OC
- IOS开发---协议和代理模式
- OC协议应用之代理者模式
- Protocol 协议和Delegate代理模式
- OC_协议实现代理委托模式
- websocket协议转tcp协议的代理
- 协议,代理的简单应用
- 协议跟代理的理解
- 代理与协议的区别
- 如何在C#中用连接ACCESS数据库
- Thread的join()方法
- 数据结构:顺序表的操作
- mktime() [function.mktime]: It is not safe to rely on the system's timezone settings问题解决
- FZU 2150 Fire Game BFS求解
- 协议的代理模式
- c++ const用法
- clock latency
- Sql Server 替换某一列中指定的文字内容
- FNDB数据库
- java之内存分配
- @protocol协议
- cocos2dx中使用JPG图和只带Alpha的PNG图合成渲染
- WordPress使用相对路径访问