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

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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 需要了解ios协议, 首先看一个代码示例: 流氓协议(YHBadManDelegate.h) 君子协议(Gentl...
    DeanYan阅读 13,776评论 11 22
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,909评论 6 13
  • 1.OC里用到集合类是什么? 基本类型为:NSArray,NSSet以及NSDictionary 可变类型为:NS...
    轻皱眉头浅忧思阅读 5,229评论 0 3
  • Swift 介绍 简介 Swift 语言由苹果公司在 2014 年推出,用来撰写 OS X 和 iOS 应用程序 ...
    大L君阅读 8,560评论 3 25
  • 一直都非常喜欢阅读。无论是订阅一些网站还是偶尔买买书,也常常冒出写一点东西的想法。 但许久以来,都不曾正真动笔。每...
    清葙子阅读 2,507评论 0 2

友情链接更多精彩内容