美文网首页
12.1类扩展

12.1类扩展

作者: ChaosHeart | 来源:发表于2020-10-09 09:16 被阅读0次

1.类扩展

可以添加属性和方法,在编译时写入ro数据段中

(1)找到read_images()方法,加载镜像


截屏2020-09-29 17.04.45.png

(2)在此处打个断点,查看ro里面的数据


截屏2020-09-29 17.05.00.png
截屏2020-09-29 17.05.11.png
截屏2020-09-29 17.05.38.png
截屏2020-09-29 17.05.49.png
截屏2020-09-29 17.06.02.png

(3)可以看到此时ro里面可以找到方extM_method方法和nName属性,证明类扩展在编译时就执行了,将数据写入了ro中.

2.实例

类扩展:

#import <AppKit/AppKit.h>
#import "LGPerson.h"

NS_ASSUME_NONNULL_BEGIN

@interface LGPerson ()
@property (nonatomic, copy) NSString *ext_name;
@property (nonatomic, copy) NSString *ext_subject;

- (void)extH_method;
@end

NS_ASSUME_NONNULL_END

类.h文件:

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface LGPerson : NSObject
@property (nonatomic, copy) NSString *name;
@end

NS_ASSUME_NONNULL_END

类.m文件:

#import "LGPerson.h"
#import "LGPerson+LGExtension.h"

@interface LGPerson ()
@property (nonatomic, copy) NSString *mName;

- (void)extM_method;

@end

@implementation LGPerson

+ (void)load{
    NSLog(@"%s",__func__);
}

- (void)extM_method{
    NSLog(@"%s",__func__);
}

- (void)extH_method{
    NSLog(@"%s",__func__);
}

@end

3.注意

创建了类扩展以后,要将类扩展引入类中


截屏2020-09-29 17.08.58.png

相关文章

  • Swift 扩展

    扩展UIView 扩展String 扩展UIColor 扩展UIButton 扩展String 扩展UIImage...

  • ES6扩展

    字符串的扩展正则的扩展数值的扩展数组的扩展函数的扩展对象的扩展

  • ES6扩展

    字符串扩展 正则扩展 数值扩展 函数扩展 对象扩展 数组扩展 字符串扩展 模版字符串 部分新的方法 padStar...

  • Swift--扩展

    扩展的概念 扩展计算属性 扩展方法 扩展构造函数 扩展下标 扩展的概念 在Swift中可以使用一种扩展机制,在原有...

  • 从Java到Kotlin(六)

    扩展与委托 目录 1.扩展 1.1 扩展函数 1.2 扩展属性 1.3 扩展伴生对象 1.4 扩展的作用域 2.委...

  • ES6基础-ES6的扩展

    进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, A...

  • Vue项目开发与规范--es6语法规范篇

    目录 简介 let const 解构赋值 正则的扩展 字符串的扩展 数值的扩展 数组的扩展 函数的扩展 对象的扩展...

  • Kotlin-面向对象-进阶

    扩展 扩展方法 Kotlin支持扩展方法和扩展属性。语法:被扩展的类/接口名.方法名() 父类不能使用子类的扩展方...

  • 2021-03-14

    请求链接,稍后更新 扩展点简述 扩展点的生命周期及扩展点的执行时机 扩展点的作用 扩展点实战 更多Spring扩展...

  • 2021-03-14-1

    请求链接,稍后更新 扩展点简述 扩展点的生命周期及扩展点的执行时机 扩展点的作用 扩展点实战 更多Spring扩展...

网友评论

      本文标题:12.1类扩展

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