达内成都IT培训
美国上市IT培训机构
400-111-8989
热门课程
Java互联网架构
UI全链路设计
VFX商业视效
Web前端开发
linux云计算
网络安全工程师
Python人工智能
软件测试工程师
全链路网络营销
C++软件开发
嵌入式开发
CAD空间设计
更多课程 >
了解达内
联系达内
400-111-8989
首页
达内介绍
培训课程
授课讲师
合作企业
在线试听
联系达内
热门课程:
Java互联网架构
UI全链路设计
VFX商业视效
Web前端开发
linux云计算
网络安全工程师
Python人工智能
软件测试工程师
全链路网络营销
C++软件开发
嵌入式开发
CAD空间设计
成都达内
>
雇主企业
>
企业面试题
iOS面试基础题型解析
时间:
2015-12-17 11:00
发布:
达内杨老师
来源:
达内
想必一定有很多学员在学习iOS开发技术的同时,也在关注iOS的面试题一般都涵盖了哪些知识范围,现在
达内
的金牌讲师就为大家阐述一下常考题型。
1.怎么理解MVC,在Cocoa中MVC是怎么实现的?
MVC设计模式考虑三种对象:模型对象、视图对象、和控制器对象。模型对象代表特别的知识和专业技能,它们负责保有应用程序的数据和定义操作数据的逻辑。 视图对象知道如何显示应用程序的模型数据,而且可能允许用户对其进行编辑。控制器对象是应用程序的视图对象和模型对象之间的协调者。
2. KVC和KVO区别,分别在什么情况下使用?
KVC(Key-Value-Coding) KVO(Key-Value-Observing) 理解KVC与KVO(键-值-编码与键-值-监看) 当通过KVC调用对象时,比如:[self valueForKey:@”someKey”]时,程序会自动试图通过几种不同的方式解析这个调用。首先查找对象是否带有 someKey 这个方法,如果没找到,会继续查找对象是否带有someKey这个实例变量(iVar),如果还没有找到,程序会继续试图调用 -(id) valueForUndefinedKey:这个方法。如果这个方法还是没有被实现的话,程序会抛出一个NSUndefinedKeyException 异常错误。 (Key-Value Coding查找方法的时候,不仅仅会查找someKey这个方法,还会查找getsomeKey这个方法,前面加一个get,或者_someKey以及 _getsomeKey这几种形式。同时,查找实例变量的时候也会不仅仅查找someKey这个变量,也会查找_someKey这个变量是否存在。) 设计valueForUndefinedKey:方法的主要目的是当你使用-(id)valueForKey方法从对象中请求值时,对象能够在错误发生 前,有最后的机会响应这个请求。
id、nil代表什么?
id id和void *并非完全一样。在上面的代码中,id是指向struct objc_object的一个指针,这个意思基本上是说,id是一个指向任何一个继承了Object(或者NSObject)类的对象。需要注意的是id 是一个指针,所以你在使用id的时候不需要加星号。比如id foo=nil定义了一个nil指针,这个指针指向NSObject的一个任意子类。而id *foo=nil则定义了一个指针,这个指针指向另一个指针,被指向的这个指针指向NSObject的一个子类。 nil nil和C语言的NULL相同,在objc/objc.h中定义。nil表示一个Objctive-C对象,这个对象的指针指向空(没有东西就是空)。
内存管理 Autorelease、retain、copy、assign的set方法和含义?
1,你初始化(alloc/init)的对象,你需要释放(release)它。例如: NSMutableArray aArray = [[NSArray alloc] init]; 后,需要 [aArray release];
2,你retain或copy的,你需要释放它。例如: [aArray retain] 后,需要 [aArray release];
3,被传递(assign)的对象,你需要斟酌的retain和release。例如: obj2 = [[obj1 someMethod] autorelease]; 对象2接收对象1的一个自动释放的值,或传递一个基本数据类型(NSInteger,NSString)时: 你或希望将对象2进行retain,以防止它在被使用之前就被自动释放掉。但是在retain后,一定要在适当的时候进行释放。
5. 简述索引计数(Reference Counting) retain值 = 索引计数(Reference Counting) NSArray对象会retain(retain值加一)任何数组中的对象。当NSArray被卸载(dealloc)的时候,所有数组中的对象会被执行 一次释放(retain值减一)。不仅仅是NSArray,任何收集类(Collection Classes)都执行类似操作。例如NSDictionary,甚至UINavigationController。 Alloc/init建立的对象,索引计数为1。无需将其再次retain。
[NSArray array]和[NSDate date]等“方法”建立一个索引计数为1的对象,但是也是一个自动释放对象。所以是本地临时对象,那么无所谓了。如果是打算在全Class中使用的变量 (iVar),则必须retain它。 缺省的类方法返回值都被执行了“自动释放”方法。(*如上中的NSArray)
在类中的卸载方法“dealloc”中,release所有未被平衡的NS对象。(*所有未被autorelease,而retain值为1的)。
上一篇:
ios面试必问的5个问题
下一篇:
2015会计从业考前冲刺四大法宝
马上预约七天免费体验课
姓名:
电话:
怕钱不够?
就业挣钱后再付学费;
怕学不会?
0基础入学,达内定制课程;
担心就业?
达内多家实践企业供你挑选
相关推荐
开班时间
Java开发
3月30日
立即报名
UI设计
3月15日
立即报名
商业视效
3月15日
立即报名
Web前端
3月30日
立即报名
云计算
3月30日
立即报名
网络安全
3月24日
立即报名
Python
3月30日
立即报名
软件测试
3月15日
立即报名
网络营销
3月24日
立即报名
C++
3月15日
立即报名
嵌入式
3月30日
立即报名
空间设计
3月30日
立即报名
选择城市和中心
北京
达内北京中关村中心
达内北京天坛中心
达内北京广渠门中心
达内北京西直门中心
达内北京产品经理中心
达内北京海淀园中心
达内北京亚运村中心
达内北京魏公村中心
达内北京万寿路中心
达内北京亦庄大学生实训基地
达内北京网络营销中心
达内北京会计中心
黑龙江省
达内哈尔滨哈站中心
达内哈尔滨哈西中心
达内大庆中心
吉林省
达内长春长大中心
达内长春亚泰中心
辽宁省
达内沈阳三好中心
达内沈阳学府中心
达内沈阳奉天中心
达内大连胜利中心
达内大连腾飞中心
内蒙古
达内呼和浩特中心
天津
达内天津天大中心
达内天津长宏中心
达内天津广开中心
达内天津滨海中心
河北省
达内石家庄先天下中心
达内石家庄中山路中心
达内秦皇岛中心
山西省
达内太原龙城中心
达内太原会计中心
达内太原学府中心
达内太原网络营销中心
达内晋中中心
达内运城中心
陕西省
达内西安交大中心
达内西安高新中心
达内西安和平门中心
达内西安省体中心
山东省
达内济南山大路中心
达内济南趵突泉中心
达内济南会计中心
达内济南大明湖中心
达内青岛山东路中心
达内烟台海港路中心
达内潍坊中心
达内临沂中心
达内青岛CBD中心
达内青岛西海岸中心
达内青岛城阳中心
河南省
达内郑州文化路中心
达内郑州嵩山路中心
达内郑州金水路中心
达内郑州东风路中心
达内洛阳王城中心
江苏省
达内南京总统府中心
达内南京新街口中心
达内南京软件谷中心
达内南京明故宫中心
达内南京常府街中心
达内苏州南门中心
达内苏州园区中心
达内苏州石路中心
达内无锡宝龙中心
达内无锡恒隆中心
达内徐州中心
安徽省
达内合肥银泰中心
达内合肥农大中心
达内合肥三孝口中心
达内芜湖中心
达内蚌埠中心
上海
达内上海徐家汇中心
达内上海浦东中心
达内上海长寿路中心
达内上海外滩中心
达内上海南京路中心
达内上海陆家嘴中心
达内上海人民广场中心
达内上海徐家汇中心(童程童美)
达内上海浦东中心(童程童美)
达内上海长寿路中心(童程童美)
湖北省
达内武汉光谷中心
达内武汉洪山中心(原民大中心)
达内武汉武昌中心
达内武汉鲁广中心
四川省
达内成都钻石中心
达内成都高升桥中心
达内成都锦江中心
达内成都天府中心
达内成都金融街中心
重庆
达内重庆杨家坪中心
达内重庆石桥铺中心
达内重庆江北中心
达内重庆解放碑中心
湖南省
达内长沙松桂园中心
达内长沙河西CBD中心
江西省
达内南昌中心
浙江省
达内杭州西湖中心
达内杭州西溪中心
达内杭州黄龙中心
达内杭州下沙中心
达内杭州文教中心
达内宁波中心
达内温州中心
贵州省
达内贵阳中心
福建省
达内福州中心
达内厦门中心
云南省
达内昆明五一路中心
达内昆明春城路中心
达内昆明金尚中心
广西省
达内南宁中心
广东省
达内广州五羊中心
达内广州天河北中心
达内广州体育东中心
达内广州岗顶中心
达内广州云计算中心
达内华南大学生实训基地
达内广州客村中心
达内深圳罗湖中心
达内深圳龙岗中心
达内深圳宝安中心
达内深圳宝安体育馆中心
达内深圳童程童美中心
达内深圳地王中心
达内深圳科技园中心
达内深圳龙华中心
达内珠海中心
达内东莞南城中心
达内东莞东城中心
达内佛山中心
达内中山中心
海南省
达内海南中心
台湾
达内台北中心