08 2020 档案

摘要:实例对象( instance)、类对象(class)、元类对象(meta-class)的内部结构分析 本文使用的objc源码版本为objc4-756.2。 Class本质上为一个结构体类型: typedef struct objc_class *Class; 实例对象的定义 struct objc_ 阅读全文
posted @ 2020-08-27 19:10 俊华的博客 阅读(737) 评论(0) 推荐(0)
摘要:isa指针 instance对象的isa指向class对象,当调用对象方法时,通过instance对象的isa找到class,最后找到对象方法的实现进行调用。 class对象的isa指向meta-class,当调用类方法时,通过class对象的isa找到meta-class,最后找到类方法的实现进行 阅读全文
posted @ 2020-08-27 18:49 俊华的博客 阅读(284) 评论(0) 推荐(0)
摘要:weak 关键字的运用在 iOS 当中属于基础知识,在面试的时候问 weak 的用处,就像两个 iOS 程序员见面寒暄问候一样普通了。 weak 的常见场景是在 delegate,block,NSTimer 中使用,以避免循环引用所带来的内存泄漏,这是教科书式的用法。 以下是一些有趣的应用。 wea 阅读全文
posted @ 2020-08-19 16:09 俊华的博客 阅读(890) 评论(0) 推荐(0)
摘要:weak和assign区别 经常会有面试题问weak和assign的区别,这里介绍一下。 weak和strong是对应的,一个是强引用,一个是弱引用。weak和assign的区别主要是体现在两者修饰OC对象时的差异。上面也介绍过,assign通常用来修饰基本数据类型,如int、float、BOOL等 阅读全文
posted @ 2020-08-19 16:04 俊华的博客 阅读(1402) 评论(0) 推荐(0)
摘要:类属性 (Objective-C Class Properties) 官方解释 先看下它在Xcode8 release版本中官方给出的解释: Objective-C now supports class properties, which interoperate with Swift type p 阅读全文
posted @ 2020-08-19 15:54 俊华的博客 阅读(1679) 评论(0) 推荐(0)
摘要:前言 这里面你将会了解到什么是优先级翻转、自旋锁、互斥锁。 绝大部分 Objective-C 程序员使用属性时,都不太关注一个特殊的修饰前缀,一般都无脑的使用其非默认缺省的状态,他就是 atomic。 1 @interface PropertyClass 2 3 @property (atomic, 阅读全文
posted @ 2020-08-19 15:52 俊华的博客 阅读(2814) 评论(0) 推荐(0)
摘要:@property修饰符种类 当我们定义一个字符串属性时,通常我们会这样写: @property (nonatomic, copy) NSString *name; 复制代码 当我们定义一个NSMutableArray类型的属性时,通常我们会这样写: @property (nonatomic, st 阅读全文
posted @ 2020-08-19 15:44 俊华的博客 阅读(504) 评论(0) 推荐(0)
摘要:@property的本质 @property = ivar(下划线实例变量) + getter/setter(存取方法); 在正规的 Objective-C 编码风格中,存取方法有着严格的命名规范。 正因为有了这种严格的命名规范,所以 Objective-C 这门语言才能根据名称自动创建出存取方法。 阅读全文
posted @ 2020-08-19 15:40 俊华的博客 阅读(874) 评论(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 俊华的博客 阅读(445) 评论(0) 推荐(0)
摘要:OC语法相关的面试 今天先提出一些我们常见的语法面试问题。然后根据这些问题去思考去分析底层的原理,以及为什么这么设计好处是什么呢? 在接下的的博客中我会一一为大家讲解 一.对象的本质 一个NSObject对象占用多少内存? OC对象的分类? 对象的isa指针指向哪里? OC的类的信息存放在哪里? 二 阅读全文
posted @ 2020-08-11 15:25 俊华的博客 阅读(423) 评论(0) 推荐(0)