常见的IOS面试题整理(附答案)待更新
2016-09-21 17:15
477 查看
常见的IOS面试题,有时间就整理一下,既可以巩固自己的基础知识,又可以为给我IOS猿媛们提供一下参考。(如有不对的地方,望请大家指出)
欢迎大家来和我一起交流技术:QQ970941938。
1. object-c有多继承吗?如果没有,用什么来替代呢?
参考答案:所有的类都基于NSObject,可以用protocol代理来实现多继承的特性。
2. 深浅拷贝类:
2.1 父类实现深拷贝时,子类如何实现深拷贝;父类没有实现深拷贝时,子类又该如何实现深拷贝?
参考答案:
深拷贝与浅拷贝的区别:浅拷贝属于指针拷贝,对一个对象进行浅拷贝,相当于对指向的对象的对象进行复制,生成一个新的指向这个对象的指针,即两个指针指向同一对象,该对象一销毁,两个指针都会变成null。深拷贝是对对象进行拷贝,即生成两个指针指向两个对象,其中一个对象被销毁,另一个对象不受影响。
深拷贝需要实现NSCoying协议,实现-(id)copyWithZone:(NSZone *)zone方法。当对一个property属性含有copy修饰符的时候,在进行赋值操作的时候实际上就是调用这个方法。
父类实现深拷贝之后,子类只要重写copyWithZone方法,在方法内部调用父类的copyWithZone方法,之后实现自己的属性的处理
父类没有实现深拷贝,子类除了需要对自己的属性进行处理,还要对父类的属性进行处理。
3. KVO,NSNotification,delegate,block的区别是什么?
参考答案:
KVO就是cocoa框架实现的观察者模式,是一对多的关系,一个值的变化会通知所有的观察者。一般同KVC搭配使用。例如:一个X轴坐标的改变,会通知所有的观察者。一般的使用场景的监测数据的变化。
NSNotification和KVO是一样的,都是状态变化之后告知对方,是一对多的关系(全局通知,弱关联)。NSNotification的特点,就是需要被观察者先主动发出通知,然后观察者注册监听后再来进行响应,比KVO多了发送通知的一步,但是其优点是监听不局限于属性的变化,还可以对多种多样的状态变化进行监听,监听范围广,使用也更灵活。
delegate 是代理,就是我不想做的事情交给别人做,是一对一的关系(强关联)。一般的使用场景是行为。
block是delegate的另一种形式,是函数式编程的一种形式。使用场景跟delegate一样,相比delegate更灵活,而且代理的实现更直观。
欢迎大家来和我一起交流技术:QQ970941938。
1. object-c有多继承吗?如果没有,用什么来替代呢?
参考答案:所有的类都基于NSObject,可以用protocol代理来实现多继承的特性。
2. 深浅拷贝类:
2.1 父类实现深拷贝时,子类如何实现深拷贝;父类没有实现深拷贝时,子类又该如何实现深拷贝?
参考答案:
深拷贝与浅拷贝的区别:浅拷贝属于指针拷贝,对一个对象进行浅拷贝,相当于对指向的对象的对象进行复制,生成一个新的指向这个对象的指针,即两个指针指向同一对象,该对象一销毁,两个指针都会变成null。深拷贝是对对象进行拷贝,即生成两个指针指向两个对象,其中一个对象被销毁,另一个对象不受影响。
深拷贝需要实现NSCoying协议,实现-(id)copyWithZone:(NSZone *)zone方法。当对一个property属性含有copy修饰符的时候,在进行赋值操作的时候实际上就是调用这个方法。
父类实现深拷贝之后,子类只要重写copyWithZone方法,在方法内部调用父类的copyWithZone方法,之后实现自己的属性的处理
父类没有实现深拷贝,子类除了需要对自己的属性进行处理,还要对父类的属性进行处理。
3. KVO,NSNotification,delegate,block的区别是什么?
参考答案:
KVO就是cocoa框架实现的观察者模式,是一对多的关系,一个值的变化会通知所有的观察者。一般同KVC搭配使用。例如:一个X轴坐标的改变,会通知所有的观察者。一般的使用场景的监测数据的变化。
NSNotification和KVO是一样的,都是状态变化之后告知对方,是一对多的关系(全局通知,弱关联)。NSNotification的特点,就是需要被观察者先主动发出通知,然后观察者注册监听后再来进行响应,比KVO多了发送通知的一步,但是其优点是监听不局限于属性的变化,还可以对多种多样的状态变化进行监听,监听范围广,使用也更灵活。
delegate 是代理,就是我不想做的事情交给别人做,是一对一的关系(强关联)。一般的使用场景是行为。
block是delegate的另一种形式,是函数式编程的一种形式。使用场景跟delegate一样,相比delegate更灵活,而且代理的实现更直观。
相关文章推荐
- iOS中常见面试题(不定时更新中.....)
- M2在奋斗之ios开发--ios面试题整理(持续更新)
- iOS 面试题整理(带答案)二
- iOS面试题整理带答案
- 黑马程序员——iOS面试题归类整理(附详细答案)——黑马 ios 技术博客
- 整理 《招聘一个靠谱的iOS》面试题部分参考答案
- iOS面试题总结整理(附答案)
- 常见Android面试题及答案(详细整理)
- 常见Android面试题及答案(详细整理)
- iOS 面试题整理(题加答案)
- [iOS] 面试题整理(带答案) 一
- ios 常见错误整理 持续更新
- iOS面试题总结整理(附答案)
- 常见Android面试题及答案(详细整理)
- iOS开发工程师常见面试题及答案
- ios 常见错误整理 持续更新
- [iOS] 面试题整理(带答案) 二
- 常见Android面试题及答案(详细整理)
- iOS常见面试题,留个印,不定时更新,以做后用...QAQ
- iOS面试题整理带答案