序言
国内对iOS开发这一领域还处在初级阶段,许多开发人才并没有过系统iOS学习,但由于随波逐流的人数多,导致企业一步一步提升门槛,初级开发者过多,初级开发的池塘就只有那么大,导致许多随波逐流的人就面临找不到工作的风险,然后就出现了“iOS开发不行了”的热潮。
由于大多数开发者都是为了工作而且学习,而不是提升了自己去找更好的工作,导致许多随波逐流的开发者走向“失业”、转行这一条路。所以我们应该不是为了工作而去学习,要为了提升自己而去工作、去学习,在这个人挤人的社会,站在“其他人”的前面,想想自己多会一项技能,就能把多少人抛在后面了,就会有坚持下去的动力。
接下来进入今天的主题:面试要点分享
一个objc对象如何进行内存布局?
所有父类的成员变量和自己的成员变量都会存放在该对象所对应的存储空间中
每一个对象内部都有一个isa指针,指向他的类对象,类对象中存放着本对象的
1. 对象方法列表(对象能够接收的消息列表,保存在它所对应的类对象中)
2. 成员变量的列表
3. 属性列表
它内部也有一个isa指针指向元对象(meta class),元对象内部存放的是类方法列表,类对象内部还有一个superclass的指针,指向他的父类对象。
根对象就是NSobject,它的superclass指针指向nil类对象既然称为对象,那它也是一个实例。类对象中也有一个isa指针指向它的元类(metaclass),即类对象是元类的实例。元类内部存放的是类方法列表,根元类的isa指针指向自己,superclass指针指向NSObject类。
喜欢小编的面试题的可以关注小编,小编每天都会更新,或者进小编的群656315826免费领取最全的面试宝典。
网友评论