协议的简单介绍及使用

//协议-一个方法列表,遵循正式协议时需要在声明类时说明要遵循的协议。

#import 
//声明一个协议。新建一个协议文件    新建协议使用Objective-C File文件新建一个.h文件。
@protocol HRPro 
//必须实现的方法
@required
-(void)canCode;
-(void)canTalk;
//可选实现的方法
@optional
-(void)nearByHouse;
-(BOOL)youngAge;

@end
----------------HrManager * manager = [HrManager new];//管理协议,确定协议是否实现。----------------------
-(void)hrSomeBody:(id)someone;//管理者声明一个管理方法(对象是id类型,并且需要在声明中满足协议要求)------

-(void)hrSomeBody:(id)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];----------------------

你可能感兴趣的:(协议的简单介绍及使用)