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

协议的简单介绍及使用

作者: 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