iOS笔试题整理(二)

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?

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,216评论 30 472
  • 1.项目经验 2.基础问题 3.指南认识 4.解决思路 ios开发三大块: 1.Oc基础 2.CocoaTouch...
    阳光的大男孩儿阅读 5,042评论 0 13
  • Objective-C 1. import的用法 拷贝文件内容可以自动防止文件的内容被重复拷贝(#define宏定...
    马文涛阅读 5,359评论 3 17
  • 重点掌握 3 类对象和方法 对象就是一个物体 类的独特存在就是一个实例,对实例进行操作叫做方法。方法可以应用于类或...
    Coder大雄阅读 1,285评论 0 2
  • 这些并不是什么新知识了,这里只是简单记录下简单的使用方式: 首先你的手机和你的电脑,必须是在同一个网段里面,也就是...
    消沉沉阅读 805评论 0 7