美文网首页iOS开发文集
OC 实现像Swift那样的有默认实现的协议,遵守不用实现即可调

OC 实现像Swift那样的有默认实现的协议,遵守不用实现即可调

作者: 十一岁的加重 | 来源:发表于2017-06-15 17:45 被阅读12265次

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

在一个控制器中使用
一、遵守

@interface CKKHomeVC ()<callPhoneProtocol>

二、不实现,直接调用协议内的方法

- (IBAction)onClickMsgBarItem:(UIBarButtonItem *)item {

    [self callPhone];
}

抽取框架libextobjc中的几个文件即可

image.png

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

相关文章

网友评论

    本文标题:OC 实现像Swift那样的有默认实现的协议,遵守不用实现即可调

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