iOS--协议的入门

协议(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.delegate respondsToSelector:@selector(makeMoney)]) {

        [self.delegate makeMoney];

    }

}

@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 = [[Boy alloc] init];

    Girl *girl = [[Girl alloc] init];   

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

    girl.delegate = boy;

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

    [girl marray];   

    return 0;

}

控制台输出:


@end

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值