IOS面试题汇总1.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
IOS面试题汇总1

1.iOS结构iOS架构从低向上分别是核心操作系统层、核心服务层、媒体层、可触摸层。2.什么是Cocoa?什么是Cocoa touch?Cocoa包含Foundation和AppKit框架,可用于开发Mac OS X系统的应用程序。Cocoa Touch包含Foundation和UIKit框架,可用于开发iPhone OS系统的应用程序。3.Difference between shallow copy and deep copy?浅复制和深复制的区别?浅层复制:只复制指向对象的指针,而不复制引用对象本身。深层复制:复制引用对象本身。首先我们要搞清楚copy和mutalbeCopy的区别。其中前者是不可变的类,后者是可变的类。copy和mutableCopy的区别在于它们的返回值是不可变类型还是可变类型。不管被复制的对象是不可变的还是可变的,copy的返回值类型始终是不可变类型。例如:NSString *str1=@hello;NSString *str2=[str1 copy];//指针copyNSString *str3=[str1 mutableCopy];//深copyNSMutableString *mutableStr2=[str1 copy];//指针copyNSMutableString *mutableStr3=[str1 mutableCopy];//深copy [mutableStr3 appendString:@-oc];NSLog(@str1=%@\nstr2=%@\nstr3=%@\nmutablStr2=%@\nmutableStr3=%@\n\n\n\n\n,str1,str2,str3,mutableStr2,mutableStr3);//输出str1,str2,str3;NSLog(@str1=%p\nstr2=%p\nstr3=%p\nmutablStr2=%p\nmutableStr3=%p,str1,str2,str3,mutableStr2,mutableStr3);//输出str1,str2,str3的地址。结果:2013-11-18 18:47:03.752 Copy[23556:303] str1=hellostr2=hellostr3=hellomutablStr2=hellomutableStr3=hello-oc2013-11-18 18:47:03.755 Copy[23556:303] str1=0x100001050str2=0x100001050str3=0x10010c090mutablStr2=0x100001050mutableStr3=0x10010c0d04.What is advantage of categories? What is difference between implementing a category and inheritance?类别的作用?继承和类别在实现中有何区别?答案:类别就是类的附加方法的声明,它不能附加实例变量。但是继承实际上重新创建了一个新的类。#import Foundation/Foundation.h @interface MyClass : NSObject -(void)myPrint; @end#import MyClass.h @implementation MyClass -(void)myPrint{ NSLog(@myPrint 调用了); } @end继承可以增加,修改或者删除方法,并且可以增加属性,子类可以从父类继承方法.下面创个weapon的子类tank;#import Tank.h@implementation Tank-(void)move{NSLog(@The tank is moving!);//直接引用父类weapon的方法move}-(void)attack{NSLog(@The tank is attacking!);//直接引用父类weapon的方法attack}@end5.Difference between categories and extensions?类别和类扩展的区别。答案:category和extensions的不同在于后者可以添加属性。另外后者添加的方法是必须要实现的。extensions可以认为是一个私有的Category类别(Category)是一种可以为现有的类添加新方法的方式无需从现有的类继承子类。类别添加的新方法可以被子类继承。类扩展Class extensions类扩展声明格式@interface MyClass(),可以在类扩展中声明属性和实例变量例如@interface MyClass : NSObject

文档评论(0)

haihang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档