callPhoneProtocol.h文件
#import "EXTConcreteProtocol.h"
@protocol callPhoneProtocol <NSObject>
@concrete
- (void)callPhone;
@end
callPhoneProtocol.m文件
#import "TestDelegate.h"
#import "CKKTelView.h"
@concreteprotocol(callPhoneProtocol)
- (void)callPhone {
// 撥打電話
CKKTelView *view = [CKKTelView viewFromXib];
view.phone = @"400-100-8899";
[view show];
}
@end
在一個(gè)控制器中使用
一、遵守
@interface CKKHomeVC ()<callPhoneProtocol>
二、不實(shí)現(xiàn),直接調(diào)用協(xié)議內(nèi)的方法
- (IBAction)onClickMsgBarItem:(UIBarButtonItem *)item {
[self callPhone];
}
抽取框架libextobjc中的幾個(gè)文件即可

image.png
參考:
https://blog.yeatse.com/2016/06/20/default-implementation-for-oc-protocol/