OC基础

2017-01-06  本文已影响0人  文人骚客_Rish
  1. Difference between shallow copy and deep copy?
    1> 浅拷贝:指针(地址)拷贝,不会产生新对象
    2> 深拷贝:内容拷贝,会产生新对象

  2. What is advantage of categories? What is difference between implementing a category and inheritance?
    1> 分类可以在不修改原来类模型的基础上拓充方法,在.m里面写
    2> 分类只能扩充方法、不能扩充成员变量;继承可以扩充方法和成员变量
    3> 继承会产生新的类

  3. Difference between categories and extensions? 分类和扩展类之间的区别
    1> 分类是有名称的,类扩展没有名称
    2> 分类只能扩充方法、不能扩充成员变量;类扩展可以扩充方法和成员变量
    3> 类扩展一般就写在.m文件中,用来扩充私有的方法和成员变量(属性)

  4. Difference between protocol in objective c and interfaces in java?
    1> Java的接口中声明的方法必须都实现
    2> Oc的protocol(协议)中声明的方法并不一定要实现

  5. What are KVO and KVC?
    1> KVC是键值编码,可以通过一个字符串的key(属性名)修改对象的属性值
    2> KVO是键值监听,可以监听一个对象属性值的改变

  6. What is purpose of delegates? 代理的方法
    1> 两个对象之间传递数据和消息
    2> 解耦,拆分业务逻辑

  7. What are mutable and immutable types in Objective C? 在oc中可变和不可变类型的区别
    1> mutable是可变类型,比如NSMutableArray,可以动态往里面添加元素
    2> immutable是不可变类型,比如NSArray,固定的存储空间,不能添加元素

  8. When we call objective c is runtime language what does it mean? 在运行oc 程序时动态绑定是什么意思
    1> 动态绑定:对象类型在运行时才真正确定
    2> 多态性

  9. what is difference between NSNotification and protocol? 通知和协议之间的不同之处?
    1> 通过NSNotification可以给多个对象传递数据和消息(多个传递)
    2> 通过protocol(代理模式)只能给一个对象传递数据和消息(单一传递)

  10. What is push notification? 怎样建立一个消息通知中心
    1> 本地推送:程序内部弹出通知到用户设备
    2> 远程推送:由推送服务器推送通知到用户设备

  11. What is Polymorphism? 多态:父类指针指向子类对象

  12. What is Singleton? 单个物体 单例:保证程序运行过程中,永远只有一个对象实例 目的是:全局共享一份资源、节省不必要的内存开销

  13. What is responder chain? 响应者链
    响应者链:  UIResponder有一个nextResponder属性,通过该属性可以组成一个响应者链,事件或消息在其路径上进行传递

上一篇下一篇

猜你喜欢

热点阅读