iOS面试题6

作者: SmallHer | 来源:发表于2018-01-15 13:53 被阅读314次

    1.什么是KVC 

    KVC,即是指 NSKeyValueCoding,一个非正式的Protocol,提供一种机制来间接访问对象的属性。而不是通过调用Setter、Getter方法访问。KVO 就是基于 KVC 实现的关键技术之一。

    2.AFNetworking实现原理 

    AFNetworking3.0之前是NSURLConnection, 之后是NSURLSession, 包括一些线程的优化以及封装等

    3.浅复制和深复制的区别? 

    答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身。 

    深层复制:复制引用对象本身。 

    意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源 

    还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想。深复制就好理解了,内存中存在了两份独立对象本身。 

    用网上一哥们通俗的话将就是: 

    浅复制好比你和你的影子,你完蛋,你的影子也完蛋 

    深复制好比你和你的克隆人,你完蛋,你的克隆人还活着。

    4.传递者链 和响应者链 

    答案: 响应者链应该是:First Responser—-> UIView -- > The Window -- >The Application -- > App Delegate 

    传递者链 UIWindow -> UIView -> Next UIView -> NextView (直到用户触碰的那个View)

    5.app退到后台,有的再点开还是之前的页面,有的点开是重启,怎么设置 

    Appdelegate方法里 有个进入后台 和将要返回到前台的设置 在你将要从后台进入前台的方法里 去重新设置window的 rootViewcontrller

    6.重新@property (nonatomic, copy) NSString *name; 的setter方法原型; 

    (void)setName:(NSString *)name 

    if(_name){ 

    [ _name release]; 

    _name = [name copy]; 

    }

    iOS 面试题1

    iOS 面试题2

    iOS 面试题3

    iOS 面试题4

    iOS 面试题5

    相关文章

      网友评论

        本文标题:iOS面试题6

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