电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

2024年iOS面试大全VIP免费

2024年iOS面试大全_第1页
1/47
2024年iOS面试大全_第2页
2/47
2024年iOS面试大全_第3页
3/47
1.Object-c的类可以多重继承么?可以实现多种接口么?Category是什么?重写一种类的方式用继承好还是分类好?为何?答:Object-c的类不可以多重继承;可以实现多种接口,通过实现多种接口可以完毕C++的多重继承;Category是类别,一般状况用分类好,用Category去重写类的措施,仅对本Category有效,不会影响到其他类与原有类的关系。2.#import跟#include又什么区别,@class呢,#import<>跟#import””又什么区别?答:#import是Objective-C导入头文献的关键字,#include是C/C++导入头文献的关键字,使用#import头文献会自动只导入一次,不会反复导入,相称于#include和#pragmaonce;@class告诉编译器某个类的申明,当执行时,才去查看类的实现文献,可以处理头文献的互相包括;#import<>用来包括系统的头文献,#import””用来包括顾客头文献。3.属性readwrite,readonly,assign,retain,copy,nonatomic各是什么作用,在那种状况下用?答:1).readwrite是可读可写特性;需要生成getter措施和setter措施时2).readonly是只读特性只会生成getter措施不会生成setter措施;不但愿属性在类外变化3).assign是赋值特性,setter措施将传入参数赋值给实例变量;仅设置变量时;4).retain表达持有特性,setter措施将传入参数先保留,再赋值,传入参数的retaincount会+1;5).copy表达赋值特性,setter措施将传入对象复制一份;需要完全一份新的变量时。6).nonatomic非原子操作,决定编译器生成的settergetter与否是原子操作,atomic表达多线程安全,一般使用nonatomic4.写一种setter措施用于完毕@property(nonatomic,retain)NSString*name,写一种setter措施用于完毕@property(nonatomic,copy)NSString*name答:-(void)setName:(NSString*)str{[strretain];[namerelease];name=str;}-(void)setName:(NSString*)str{idt=[strcopy];[namerelease];name=t;}5.对于语句NSString*obj=[[NSDataalloc]init];obj在编译时和运行时分别时什么类型的对象?答:编译时是NSString的类型;运行时是NSData类型的对象6.常见的object-c的数据类型有那些,和C的基本数据类型有什么区别?如:NSInteger和int答:object-c的数据类型有NSString,NSNumber,NSArray,NSMutableArray,NSData等等,这些都是class,创立后便是对象,而C语言的基本数据类型int,只是一定字节的内存空间,用于寄存数值;NSInteger是基本数据类型,并不是NSNumber的子类,当然也不是NSObject的子类。NSInteger是基本数据类型Int或者Long的别名(NSInteger的定义typedeflongNSInteger),它的区别在于,NSInteger会根据系统是32位还是64位来决定是自身是int还是Long。7.id申明的对象有什么特性?答:Id申明的对象具有运行时的特性,即可以指向任意类型的objcetive-c的对象;8.Objective-C怎样对内存管理的,说说你的见解和处理措施?答:Objective-C的内存管理重要有三种方式ARC(自动内存计数)、手动内存计数、内存池。1).(GarbageCollection)自动内存计数:这种方式和java类似,在你的程序的执行过程中。一直有一种高人在背后精确地帮你收拾垃圾,你不用考虑它什么时候开始工作,怎样工作。你只需要明白,我申请了一段内存空间,当我不再使用从而这段内存成为垃圾的时候,我就彻底的把它忘掉掉,反正那个高人会帮我收拾垃圾。遗憾的是,那个高人需要消耗一定的资源,在携带设备里面,资源是紧俏商品因此iPhone不支持这个功能。因此“GarbageCollection”不是本入门指南的范围,对“GarbageCollection”内部机制感爱好的同学可以参照某些其他的资料,不过说诚实话“GarbageCollection”不大适合适初学者研究。处理:通过alloc–initial方式创立的,创立后引用计数+1,此后每retain一次引用计数+1,那么在程序中做对应次数的release就好了.2).(ReferenceCounted)手动内存计数:就是说,从一段内存被申请之后,就存在一种变量用于保留这段内存被使用的次数,我们临时把它称为计数器,当计数器变为0的时候,那么就是释放这段内存的时候。例如说,当在程序A里面一段内存被成功申请完毕之后,那么这个计数器就从0变成1(我们把这个过程叫做alloc),然后程序B也需要使用这个内存,...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

2024年iOS面试大全

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部