程序员

iOS面试总结 - 初级篇

2018-09-25  本文已影响48人  逾期的誓言

个人博客地址

1,为什么说Object-C 是一门动态语言?

主要设计两个概念: 运行时与多态,即:对象类型,以及调用对象方法是在运行时决定;可以从三个方面描述,如下:

2,说说Object-C内存管理

OC内存管理分为MRC(手动引用计数),ARC(自动引用计数),遵循谁创建,谁释放,谁retain谁release原则;

3,属性的实质是什么?包括哪几个部分?属性默认的关键字有哪些?@dynamic关键字和@synthesize关键字是
做什么的?

4,说说代理,Block,通知

5,可变集合类 和 不可变集合类的 copy 和 mutablecopy有什么区别

copy返回的都是不可变对象(调用可变对象方法会crash),mutableCopy返回的是可变对象

只有对不可变的对象进行copy,是浅拷贝,其他情况都是深拷贝

6,如何使自己写的对象具有拷贝功能

7,Category,Extension,继承的作用,区别

不需要创建子类就能为现有类(系统类,自定义类)添加新方法;

extension是延展,匿名分类,一般用于声明私有属性,成员变量,私有方法.

继承是面向对象语言的特性,子类可以继承父类的属性与方法,如BaseController

8,Object-C的反射机制

OC的反射机制分为Class反射和SEL反射

9,常见的系统单利类有哪些?如何实现完整的单利?

10,NSTimer一定准确么?怎么解决

上一篇下一篇

猜你喜欢

热点阅读