美文网首页
协议的简单介绍及使用

协议的简单介绍及使用

作者: PZcoder | 来源:发表于2016-10-27 20:52 被阅读21次
    //协议-一个方法列表,遵循正式协议时需要在声明类时说明要遵循的协议。
    
    #import <Foundation/Foundation.h>
    //声明一个协议。新建一个协议文件    新建协议使用Objective-C File文件新建一个.h文件。
    @protocol HRPro <NSObject>
    //必须实现的方法
    @required
    -(void)canCode;
    -(void)canTalk;
    //可选实现的方法
    @optional
    -(void)nearByHouse;
    -(BOOL)youngAge;
    
    @end
    ----------------HrManager * manager = [HrManager new];//管理协议,确定协议是否实现。----------------------
    -(void)hrSomeBody:(id<HRPro>)someone;//管理者声明一个管理方法(对象是id类型,并且需要在声明中满足协议要求)------
    
    -(void)hrSomeBody:(id<HRPro>)someone
    {
        if ([someone respondsToSelector:@selector(canTalk)]&&[someone respondsToSelector:@selector(canCode)])
    //方法中确定对象是否满足约定协议、-----------
            //检查对象是否完成此方法 返回YES  NO
        {
            NSLog(@"恭喜你,被录用了。");
        }
        else
        {
            NSLog(@"很遗憾,条件不满足要求。");
        }
    }
    -------Person * per = [Person new];//没有实现协议的人----------------
    ---------------Coder * cod = [Coder new];//实现协议的人-------------------
    ----[manager hrSomeBody:per];//调用方法,核实是否实现协议约定的方法。-------
    ------------------[manager hrSomeBody:cod];----------------------
    

    相关文章

      网友评论

          本文标题:协议的简单介绍及使用

          本文链接:https://www.haomeiwen.com/subject/ssesuttx.html