2021年度iOS面试大全.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. Object-c类可以多重继承么?可以实现各种接口么?Category是什么?重写一种类方式用继承好还是分类好?为什么? 答: Object-c类不可以多重继承;可以实现各种接口,通过实现各种接口可以完毕C++多重继承;Category是类别,普通状况用分类好,用Category去重写类办法,仅对本Category有效,不会影响到其她类与原有类关系。 2. #import 跟#include 又什么区别,@class呢,#import 跟 #import””又什么区别? 答:#import是Objective-C导入头文献核心字,#include是C/C++导入头文献核心字,使用#import头文献会自动只导入一次,不会重复导入,相称于#include和#pragma once;@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 非原子操作,决定编译器生成setter getter与否是原子操作,atomic表达多线程安全,普通使用nonatomic 4.写一种setter办法用于完毕@property (nonatomic,retain)NSString *name,写一种setter办法用于完毕@property(nonatomic,copy)NSString *name 答: - (void) setName:(NSString*) str { [str retain]; [name release]; name = str; } - (void)setName:(NSString *)str { id t = [str copy]; [name release]; name = t; } 5.对于语句NSString*obj = [[NSData alloc] 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定义typedef long NSInteger),它区别在于,NSInteger会依照系统是32位还是64位来决定是自身是int还是Long。 7.id 声明对象有什么特性? 答:Id 声明对象具备运营时特性,即可以指向任意类型objcetive-c对象; 8.Objective-C如何对内存管理,说说你看法和解决办法? 答:Objective-C内存管理重要有三种方式ARC(自动内存计数)、手动内存计数、内存池。 1). (Garbage Collection)自动内存计数:这种方式和java类似,在你程序执行过程中。始终有一种高人在背后精确地帮你收拾垃圾,你不用考虑它什么时候开始工作,如何工作。你只需要明白,我申请了一段内存空间,当我不再使用从而这段内存成为垃圾时候,我就彻底把它忘掉掉,反正那个高人会帮我收拾垃圾。遗憾是,那个高人需要消耗一定资源,在携带设备里面,资源是紧俏商品因此iPhone不支持这个功能。因此“Garbage Collection”不是本入门指南范畴,对“Garbage Collection”内部机制感兴趣同窗可以参照某些其她资料,但是说诚实话“Garbage Collection”不大适适当时学者研究。 解决:通过alloc

文档评论(0)

181****8523 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档