您的位置:首页 > 移动开发 > IOS开发

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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  ios 委托