iOS面试题iOS Developer计算机技术一锅炖

IOS总结(五)

2016-09-16  本文已影响102人  梦醒繁华

1.为什么很多内置类如UITableViewControl的delegate属性都是assign而不是retain?

答:防止循环引用
如:对象A引用了对象B,对象B引用了对象C,对象C引用了对象B,这个时候B的引用计数是2,而C的引用计数是1,当A不再使用B的时候,就释放了B的所有权,这个时候C还引用对象B,所以B不会释放,引用计数为1,因为B也引用着对象C,B不释放,那么C也就不会被释放,所以他们的引用计数都为1,并且永远不会被释放,形成了循环引用.

2.UIImage初始化一张图片有几种方法?简述其特点?

答:3种,

3.简述对UIView.UIWindow和CALayer的理解.

答:

4.分析json.xml的区别,底层如何实现?

  • Json:键值对.数据小,不复杂.便于解析,有框架支持,适合轻量级传输.作为数据包个数传输的时候效率更高.

5.面向对象的三大特征,简单介绍。

  • 封装:代码模块化,方便以后调用.

6.简述NotificationCenter.KVC,KVO,Delegate?并说明它们之间的区别?

  • NotificationCenter:消息中心.消息通知.
[self setValue:@"123"
forKeyPath:@"name"];
NSLog(@"%@",[self valueForKeyPath:@"name"]);

7.对MVC的理解,好处?

MVC:是一种架构,即model+view+controller。
model:数据处理,view:视图显示,controller:逻辑控制,负责视图和模型之间的通信。
好处:高类聚,低耦合,提高代码的复用性。

8.oc中对象的交互式如何实现的?

答:消息机制

9.介绍XMPP

基于XML的点对点通讯协议,实现通讯功能。
优点:可以跨平台开发
缺点:丢包,只能发文字(图片发送发的是链接)。

10.NSArray 和NSMutableArray 的区别?多线程下那个更安全.

答:NSArray:不可变数组。
NSMutableArray:可变数组。
多线程下NSArray更安全。

11.以.mm为扩展名的文件里,可以包含哪些代码?
答:c,c++,oc

上一篇下一篇

猜你喜欢

热点阅读