随笔分类 -  底层相关

摘要:消息机制: 调用任何方法的时候 其实都相当于给这个对象发送一个消息 举例 如下方法 #import "ViewController.h" @interface ViewController () @end @implementation ViewController - (void)viewDidL 阅读全文
posted @ 2021-04-27 12:08 ZhangShengjie 阅读(193) 评论(0) 推荐(0) 编辑
摘要:例子 新建一个父类、一个子类 Person SubPerson 在子类中打印 #import "SubPerson.h" #import <objc/message.h> @implementation SubPerson -(void)test{ NSLog(@"%@",[self class]) 阅读全文
posted @ 2020-03-01 14:29 ZhangShengjie 阅读(525) 评论(0) 推荐(0) 编辑
摘要:变量捕获会在blcok结构体内部生成一个变量已来存储捕获到的指针或者值 #import "Person.h" @implementation Person /* oc每个函数后面都自带 (Person * self, SEL _cmd) -(void)test:(Person * self, SEL 阅读全文
posted @ 2020-02-16 23:21 ZhangShengjie 阅读(610) 评论(0) 推荐(0) 编辑
摘要:1、编写测试代码 并将其转换成c++代码 查看具体实现 进入main.m所在目录 执行 xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc main.m 或者 xcrun -sdk iphoneos clang -arch arm64 -rewri 阅读全文
posted @ 2020-02-16 21:25 ZhangShengjie 阅读(123) 评论(0) 推荐(0) 编辑
摘要:#define kSemaphoreBegin \ static dispatch_semaphore_t semaphore; \ static dispatch_once_t onceToken; \ dispatch_once(&onceToken, ^{ \ semaphore = disp 阅读全文
posted @ 2020-02-10 18:38 ZhangShengjie 阅读(896) 评论(0) 推荐(0) 编辑
摘要:- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ dispatch_queue_t queue = dispatch_get_global_queue(0, 0); dispatch_async( 阅读全文
posted @ 2020-02-06 16:36 ZhangShengjie 阅读(343) 评论(0) 推荐(0) 编辑
摘要:KVC 其实就是键值编码 1、赋值其实就两个方法 setValue: forKey 给对象的某个属性值赋值 setValue:forKeyPath 给对象的某个属性中的属性赋值 2、获取值其实也是两个方法 valueForKey 获取对象的某个属性值 valueForKeyPath 获取对象的某个属 阅读全文
posted @ 2019-12-26 00:55 ZhangShengjie 阅读(288) 评论(0) 推荐(0) 编辑
摘要:基本原理-> 给一个对象的属性添加监听 当属性值发生变化时 会触发监听器的监听的方法 #import "ViewController.h" #import "Person.h" @interface ViewController () @property (nonatomic, strong) Pe 阅读全文
posted @ 2019-12-25 00:36 ZhangShengjie 阅读(370) 评论(0) 推荐(0) 编辑
摘要:1 下面写代码测试探索NSObject的本质 Objective-C代码,底层实现其实都是C\C++代码 把Objective-C代码 转换成C++代码 在命令行中进去main.m所在的文件地址 然后输入 xcrun -sdk iphoneos clang -arch arm64 -rewrite- 阅读全文
posted @ 2018-07-17 18:20 ZhangShengjie 阅读(1406) 评论(0) 推荐(0) 编辑
摘要:ios消息机制介绍 ios 调用每一个方法的时候其实是走的ios的消息机制 流程分为3大阶段 1、消息发送 2、动态方法解析 3、消息转发 举例介绍一下 创建一个Pserson类 有一个eat 对象方法 那么下面的代码可以用消息机制实现 导入消息头文件 #import <objc/message.h 阅读全文
posted @ 2018-06-01 18:30 ZhangShengjie 阅读(275) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示