随笔分类 -  iOS-A底层分析

摘要:@property的本质 @property = ivar(下划线实例变量) + getter/setter(存取方法); 在正规的 Objective-C 编码风格中,存取方法有着严格的命名规范。 正因为有了这种严格的命名规范,所以 Objective-C 这门语言才能根据名称自动创建出存取方法。 阅读全文
posted @ 2020-08-19 15:40 俊华的博客 阅读(871) 评论(0) 推荐(0)
摘要:NSObject实例对象占用的内存大小分析 将Objective-C转换为C\C++代码 下面的命令可以将Objective-C代码转换为C\C++代码, 但是转换出来的代码仅供分析参考. xcrun -sdk iphoneos clang -arch arm64 -rewrite-objc mai 阅读全文
posted @ 2020-08-11 17:11 俊华的博客 阅读(444) 评论(0) 推荐(0)
摘要:OC语法相关的面试 今天先提出一些我们常见的语法面试问题。然后根据这些问题去思考去分析底层的原理,以及为什么这么设计好处是什么呢? 在接下的的博客中我会一一为大家讲解 一.对象的本质 一个NSObject对象占用多少内存? OC对象的分类? 对象的isa指针指向哪里? OC的类的信息存放在哪里? 二 阅读全文
posted @ 2020-08-11 15:25 俊华的博客 阅读(423) 评论(0) 推荐(0)
摘要:野指针. C语言: 当我们声明1个指针变量,没有为这个指针变量赋初始值.这个指针变量的值是1个垃圾指 指向1块随机的内存空间。 OC语言: 指针指向的对象已经被回收掉了.这个指针就叫做野指针. 僵尸对象 一个OC对象引用计数为0被释放后就变成僵尸对象了,僵尸对象的内存已经被系统回收,虽然可能该对象还 阅读全文
posted @ 2018-06-22 14:00 俊华的博客 阅读(5108) 评论(0) 推荐(0)
摘要:总结 nil:OC中的对象的空指针 Nil:OC中类的空指针 NULL:C类型的空指针 NSNull:数值类的空对象 详细解析应用如下: 1.nil 指向一个对象的指针为空 在objc.h中的定义如下所示: #ifndef nil # if __has_feature(cxx_nullptr) # 阅读全文
posted @ 2016-04-18 17:57 俊华的博客 阅读(466) 评论(0) 推荐(0)