CC的博客

  • 首页
  • iOS
  • Android
  • React-Native
  • 读书杂谈
  • About
iOS
iOS

category添加成员变量

背景 定义一个Student类,使用@property声明一个score属性,编译器会自动帮我们生成_score成员变量和对应的setter&getter方法声明和实现。 @interface Student //@property (nonatomic,assign) int score; { int _score; } -(void)setScore:(int)score; -(int)score; @end @implementation Student - (void)setScore:(int)s…

2021/03/23 阅读全文
iOS

category探索

简介 category是Objective-C 2.0之后添加的语言特性,category的主要作用是为已经存在的类添加方法。除此之外,apple还推荐了category的另外两个使用场景 可以把类的实现分开在几个不同的文件里面。这样做有几个显而易见的好处: - 减少单个文件的体积 - 把不同的功能组织到不同的category里 - 由多个开发者共同完成一个类 - 按需加载想要的category等 2. 声明私有方法 category定义 category定义了category的行为,可以添加实例方法、类方法、实现…

2021/03/23 阅读全文
iOS

NSObject本质--在内存中的大小

OC的代码基于C/C++ 实现的,所以我们可以将OC代码转换成C++ 代码查看NSObject在C++ 中的实现。 转换命令: xcrun -sdk iphoneos clang -arch arm64 main.m -rewrite-objc -o main.cpp xcrun: xcode commendline run 参数sdk 指定iphoneos系统 clang 编译器 参数arch指定arm64 CPU架构版本 rewrite-objc 重写OC的代码 参数o 指定生成的文件名,不指定则默认和原文件同…

2021/03/22 阅读全文
iOS

runtime中实例对象&类对象&元类对象

实例对象(objc_object) objc.h定义 /// Represents an instance of a class. struct objc_object { Class _Nonnull isa OBJC_ISA_AVAILABILITY; }; /// A pointer to an instance of a class. typedef struct objc_object *id; 这里的 id 被定义为一个指向 objc_object 结构体 的指针。从中可以看出 objc_object …

2021/03/22 阅读全文
iOS

iOS消息转发机制

经典错误再现 #import "ViewController.h" #import "TestObject.h" @interface ViewController () @property (nonatomic, strong) TestObject *testObj; @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; self.testObj = [TestObject new]; [self.testO…

2020/08/26 阅读全文
12
搜一搜
最新 热点 随机
最新 热点 随机
transformer-task1 iOS中常见线程同步方案 动态调试-debugserver+LLDB dyld_shared_cache动态库共享缓存 Mach-O文件初识 效率工具-usbmuxd
探究Category-02添加成员变量 category探索 iOS中常见线程同步方案 Mach-O文件初识 探索Category-01本质 category添加成员变量
归档
  • 2025 年 2 月
  • 2021 年 7 月
  • 2021 年 6 月
  • 2021 年 3 月
  • 2020 年 11 月
  • 2020 年 10 月
  • 2020 年 8 月
  • 2020 年 1 月

COPYRIGHT © 2020 CC的博客. ALL RIGHTS RESERVED.

Theme Kratos

豫ICP备2023032048号