iOS笔试题整理(二)

作者: Jalynn葸 | 来源:发表于2016-12-15 09:49 被阅读193次

1、神拷贝和浅拷贝有什么区别?

    浅拷贝:指针(地址)拷贝,不会产生新对象

    深拷贝:内容拷贝,会产生新对象

2、分类有什么好处? 分类和继承有什么区别?

    分类可以在不修改原来类模型的基础上拓充方法

    分类只能扩充方法、不能扩充成员变量;继承可以扩充方法和成员变量

    继承会产生新的类

3、分类和拓展有什么区别?

    分类是有名称的,类扩展没有名称

    分类只能扩充方法、不能扩充成员变量;类扩展可以扩充方法和成员变量

    类扩展一般就写在.m文件中,用来扩充私有的方法和成员变量(属性)

4、OC中的协议和Java中的接口有什么不同?

    Java的接口中声明的方法必须都实现

    Oc的protocol中声明的方法并不一定要实现

5、什么是 KVO 和 KVC?

    KVC是键值编码,可以通过一个字符串的key(属性名)修改对象的属性值

    KVO是键值监听,可以监听一个对象属性值的改变

6、What is purpose of delegates?

    两个对象之间传递数据和消息

    解耦,拆分业务逻辑

7、OC中的mutable 和immutable分别指什么?

    mutable是可变类型,比如NSMutableArray,可以动态往里面添加元素

    immutable是不可变类型,比如NSArray,固定的存储空间,不能添加元素

8、为什么我们把OC称为运行时语言?

    动态绑定:对象类型在运行时才真正确定

    多态性

9、 NSNotification 和 protocol有什么不同?

    通过NSNotification可以给多个对象传递数据和消息

    通过protocol(代理模式)只能给一个对象传递数据和消息

10、什么是 push notification?

    本地推送:程序内部弹出通知到用户设备

    远程推送:由推送服务器推送通知到用户设备

相关文章

网友评论

  • Noah1985:第9题。。。protocol不是代理!

本文标题:iOS笔试题整理(二)

本文链接:https://www.haomeiwen.com/subject/lsiwmttx.html