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