//協(xié)議-一個方法列表,遵循正式協(xié)議時需要在聲明類時說明要遵循的協(xié)議。
#import <Foundation/Foundation.h>
//聲明一個協(xié)議。新建一個協(xié)議文件 新建協(xié)議使用Objective-C File文件新建一個.h文件。
@protocol HRPro <NSObject>
//必須實現(xiàn)的方法
@required
-(void)canCode;
-(void)canTalk;
//可選實現(xiàn)的方法
@optional
-(void)nearByHouse;
-(BOOL)youngAge;
@end
----------------HrManager * manager = [HrManager new];//管理協(xié)議,確定協(xié)議是否實現(xiàn)。----------------------
-(void)hrSomeBody:(id<HRPro>)someone;//管理者聲明一個管理方法(對象是id類型,并且需要在聲明中滿足協(xié)議要求)------
-(void)hrSomeBody:(id<HRPro>)someone
{
if ([someone respondsToSelector:@selector(canTalk)]&&[someone respondsToSelector:@selector(canCode)])
//方法中確定對象是否滿足約定協(xié)議、-----------
//檢查對象是否完成此方法 返回YES NO
{
NSLog(@"恭喜你,被錄用了。");
}
else
{
NSLog(@"很遺憾,條件不滿足要求。");
}
}
-------Person * per = [Person new];//沒有實現(xiàn)協(xié)議的人----------------
---------------Coder * cod = [Coder new];//實現(xiàn)協(xié)議的人-------------------
----[manager hrSomeBody:per];//調(diào)用方法,核實是否實現(xiàn)協(xié)議約定的方法。-------
------------------[manager hrSomeBody:cod];----------------------
協(xié)議的簡單介紹及使用
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 1、早起堅持那些事:邊站樁邊寫日記20分鐘,感恩自己的堅持,我的執(zhí)行力棒棒噠! 2、感恩早上收到老師的回復(fù),我的繪...
- 你看到過或者經(jīng)歷過這樣的事嗎? 1、孩子去別人家里做客,亂翻人家抽屜,亂動人家物品。 2、看到人家家里玩具...