iOS--协议的入门

来源:互联网 发布:google services.json 编辑:程序博客网 时间:2024/05/22 01:24

协议(protocol)是指两个或两个以上具有独立性的主体为了开展某项活动,经过协商后达成的一致意见。协议总是指某一层的协议。准确地说,它是在同等层之间的实体通信时,有关通信规则和约定的集合就是该层协议,例如物理层协议、传输层协议、应用层协议。我要说的这个协议是指界面进行数据传递时,根据自己的需求声明的协议.在协议声明和实现过程中,我把他分为了六步.


一个简单的结婚协议的实现:

先创建俩个类,一个Boy类,一个Girl类.

Girl.h

#warning 第一步:声明协议

@protocol GirlDelegte <NSObject>

// 声明协议默认必须实现的方法

-(void)makeMoney;

@end

@interface Girl : NSObject

#warning 第二步:设置代理人属性

@property(nonatomic,assign)id<GirlDelegte>delegate;

// 女方调用结婚方法让男方赚钱

-(void)marray;

@end


Girl.m

@implementation Girl

#warning 第三步:实现结婚方法,判断代理人是否实现赚钱方法

-(void)marray

{

   if ([self.delegaterespondsToSelector:@selector(makeMoney)]) {

        [self.delegatemakeMoney];

    }

}

@end


Boy.h

#import "Girl.h"

#warning 第四步:男方与女方签订协议

@interface Boy : NSObject<GirlDelegte>


@end


Boy.m

@implementation Boy

#warning 第六步:实现协议方法

-(void)makeMoney

{

    NSLog(@"签署结婚协议之后,男方赚钱!");

}

@end


Main.m中进行调用

#import "Boy.h"

#import "Girl.h"

int main(int argc,const char * argv[]) {  

   Boy *boy = [[Boyalloc] init];

   Girl *girl = [[Girlalloc] init];   

#warning 第五步:设置要实现协议方法的代理人

    girl.delegate = boy;

    //声明协议的女方调用方法

    [girlmarray];   

   return 0;

}

控制台输出:


@end

0 0
原创粉丝点击