IOS 委托 1
2015-10-19 00:06
465 查看
这个例子是互联网上广为流传的一个例子。boss 的委托对象是 sec类
协议myprotocol
//
// myprotocol.m
// 1018-委托
//
// Created by panba on 15-10-18.
// Copyright (c) 2015年 panba. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol myprotocole<NSObject>
@required
-(void) payoff;
-(void) telphone;
@end
boss.h
#import <Foundation/Foundation.h>
#import "myprotocol.m"
@interface Boss : NSObject
@property(nonatomic,assign) id<myprotocole> delegate;
//管理
-(void)manage;
//指导
-(void)teach;
//打电话
-(void)telphone;
//发工资
-(void)payoff;
@end
boss.m
#import "Boss.h"
@implementation Boss
@synthesize delegate;
-(id)init
{
if (self = [super init]) {
return self;
}
return self;
}
-(void)manage
{
NSLog(@"manage");
}
-(void)teach
{
NSLog(@"teach");
}
-(void)payoff
{
[self.delegate payoff];
}
-(void)telphone
{
[self.delegate telphone];
}
@end
sec.h
#import <Foundation/Foundation.h>
#import "myprotocol.m"
@interface sec : NSObject
@end
sec.m
#import "sec.h"
#import "myprotocol.m"
@implementation sec
-(id)init
{
if (self = [super init]) {
return self;
}
return self;
}
-(void)payoff
{
NSLog(@"payoff");
}
-(void)telphone
{
NSLog(@"telphone");
}
@end
main.h
#import <Foundation/Foundation.h>
#import "Boss.h"
#import "sec.h"
#import "myprotocol.m"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Boss *boss = [[Boss alloc]init];
sec *mysec = [[sec alloc]init];
boss.delegate = mysec;
[boss manage];
[boss teach];
[boss payoff];
[boss telphone];
}
return 0;
}
协议myprotocol
//
// myprotocol.m
// 1018-委托
//
// Created by panba on 15-10-18.
// Copyright (c) 2015年 panba. All rights reserved.
//
#import <Foundation/Foundation.h>
@protocol myprotocole<NSObject>
@required
-(void) payoff;
-(void) telphone;
@end
boss.h
#import <Foundation/Foundation.h>
#import "myprotocol.m"
@interface Boss : NSObject
@property(nonatomic,assign) id<myprotocole> delegate;
//管理
-(void)manage;
//指导
-(void)teach;
//打电话
-(void)telphone;
//发工资
-(void)payoff;
@end
boss.m
#import "Boss.h"
@implementation Boss
@synthesize delegate;
-(id)init
{
if (self = [super init]) {
return self;
}
return self;
}
-(void)manage
{
NSLog(@"manage");
}
-(void)teach
{
NSLog(@"teach");
}
-(void)payoff
{
[self.delegate payoff];
}
-(void)telphone
{
[self.delegate telphone];
}
@end
sec.h
#import <Foundation/Foundation.h>
#import "myprotocol.m"
@interface sec : NSObject
@end
sec.m
#import "sec.h"
#import "myprotocol.m"
@implementation sec
-(id)init
{
if (self = [super init]) {
return self;
}
return self;
}
-(void)payoff
{
NSLog(@"payoff");
}
-(void)telphone
{
NSLog(@"telphone");
}
@end
main.h
#import <Foundation/Foundation.h>
#import "Boss.h"
#import "sec.h"
#import "myprotocol.m"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Boss *boss = [[Boss alloc]init];
sec *mysec = [[sec alloc]init];
boss.delegate = mysec;
[boss manage];
[boss teach];
[boss payoff];
[boss telphone];
}
return 0;
}
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#中委托的进一步理解
- C#使用委托(delegate)实现在两个form之间传递数据的方法
- C#中常见的系统内置委托用法详解
- C#基础之委托用法实例教程
- C#中委托和事件的区别实例解析
- C#中的委托介绍
- .Net常见问题之C#中的委托
- C#中委托的基本概念介绍
- C#委托delegate实例解析
- C#委托现实示例分析
- ASP.NET中实现定制自己的委托和事件参数类
- jQuery事件绑定和委托实例
- JavaScript的事件代理和委托实例分析