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];
}
}
网友评论