OC底层
webck
• 自觉自学,乐于接受新事物,自学能力强;
• 乐于共享,崇拜开源,共同进退;
• 崇尚团队精神:高素质的团队,是我永不止境的追求;
• 代码虐我千百遍,我待代码如初恋;
• 严于律己,以身作则;
• 勇敢面对自身不足,深化自我认识;
展开
-
【OC底层】(4)对象创建之内存布局
一.前言基于objc4-781基于64bit运行环境二.抛砖引玉:起源的问题1.下面的代码输出什么?@implementation Son : Father- (instancetype)init { self = [super init]; if (self) { NSLog(@"%@", NSStringFromClass([self class])); NSLog(@"%@", NSStringFromClass([super class原创 2020-10-26 10:57:47 · 219 阅读 · 0 评论 -
【OC底层】(3)对象创建之内存分配
一.前言基于objc4-781基于64bit运行环境二.抛砖引玉:思考问题#import <objc/runtime.h>#import <malloc/malloc.h>NSObject *obj = [[NSObject alloc] init];// 成员变量占空间大小(实际使用空间)NSLog(@"%zu", class_getInstanceSize(NSObject.class));// obj所指向的分配的空间大小(实际分配空间)NSLog(@"原创 2020-10-26 10:56:01 · 200 阅读 · 0 评论 -
【OC底层】(2)环境-libmalloc-283.100.6源码编译
一.前言本文基于dandelionYD大神的libmalloc-166.200.60之源码编译的转载和更新整理,感谢dandelionYD大神的分享。说明:工程删除了部分源码,并未知影响,所以该方式仅供参考。环境说明:macOS10.15.3 Xcode11.2二.准备工作libmalloc-283.100.6.tar.gzxnu-6153.141.1.tar.gzdyld-732.8.tar.gzLibc-1353.41.1.tar.gzlibplatform-220将以上代码分原创 2020-10-26 10:54:33 · 421 阅读 · 0 评论