- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
iOS开发笔试题及参考答案
一、选择题(每题5分,共30分)
下列关于iOS中ARC的描述,错误的是()
A.ARC是自动引用计数,编译期自动插入retain/release代码
B.ARC下不能使用autoreleasepool
C.ARC会自动管理Objective-C对象的内存,基本数据类型需手动管理
D.ARC下strong指针会增加对象引用计数,weak指针不会
关于UIViewController的生命周期,正确的调用顺序是()
A.init→loadView→viewDidLoad→viewWillAppear→viewDidAppear
B.init→viewDidLoad→loadView→viewWillAppear→viewDidAppear
C.loadView→init→viewDidLoad→viewDidAppear→viewWillAppear
D.init→viewWillAppear→loadView→viewDidLoad→viewDidAppear
下列哪种方式不能实现多线程编程()
A.NSThread
B.GCD
C.NSOperationQueue
D.NSNotificationCenter
关于iOS中的沙盒目录,说法错误的是()
A.Documents目录可存储用户生成的数据,iTunes同步时会备份
B.Library/Caches目录适合存储缓存数据,系统可能在低内存时清理
C.tmp目录用于存储临时文件,应用退出后数据会保留
D.沙盒目录下的文件不能被其他应用直接访问
下列关于UIView和CALayer的关系,描述正确的是()
A.UIView是CALayer的子类
B.UIView负责事件处理,CALayer负责界面渲染
C.一个UIView只能对应一个CALayer
D.CALayer可以直接响应触摸事件
关于Objective-C中分类(Category)的说法,错误的是()
A.分类可以为已存在的类添加方法
B.分类可以添加属性,但需要手动实现setter/getter方法
C.分类可以重写原类的方法
D.分类不能添加实例变量
二、简答题(每题10分,共40分)
简述iOS中strong、weak、assign、copy四种属性修饰符的区别及使用场景。
什么是RunLoop?它的主要作用是什么?iOS中有哪些常见的RunLoop模式?
简述GCD的核心概念,以及dispatch_sync和dispatch_async的区别。
解释iOS中的内存泄漏,常见的内存泄漏场景有哪些?如何排查和解决?
三、编程题(每题15分,共30分)
实现一个方法,将一个NSArray中的字符串按首字母大小写不敏感的方式排序(要求使用Objective-C)。
设计一个简单的UITableView列表,实现数据加载、单元格复用,以及点击单元格弹出提示(要求使用Swift)。
参考答案
一、选择题
B(ARC下可以使用autoreleasepool,用于手动管理自动释放池)
A(UIViewController生命周期核心顺序:初始化→加载视图→视图加载完成→视图即将显示→视图已显示)
D(NSNotificationCenter是通知中心,用于跨组件通信,不涉及多线程)
C(tmp目录存储临时文件,应用退出后系统会清理该目录下的数据)
B(UIView是CALayer的代理,负责事件处理;CALayer负责绘制和动画,是视图的底层渲染核心)
C(分类不建议重写原类方法,会导致方法覆盖且无法调用原实现,如需修改原类逻辑建议使用继承)
二、简答题
属性修饰符区别及场景:
strong:强引用,引用计数+1,对象生命周期与引用者绑定,用于修饰需要长期持有、不希望被释放的对象(如控制器持有视图)。
weak:弱引用,引用计数不增加,对象释放后指针自动置为nil,避免野指针,用于修饰可能出现循环引用的对象(如delegate、IBOutlet)。
assign:用于修饰基本数据类型(int、float等),不涉及引用计数,若修饰对象会导致野指针(对象释放后指针不置空)。
copy:拷贝对象,创建新的副本,引用计数独立,用于修饰不可变对象(如NSString、NSArray),避免被外部可变对象意外修改(如用NSMutableString给NSString属性赋值时,copy
您可能关注的文档
最近下载
- 台湾奇美ABS塑料MSDS报告_中文(758_758R).pdf VIP
- 中秀康迪克 交流双速电梯控制器ZXK-1000B VER1.0使用手册.doc
- QZCP001-2022建筑排水用硬聚氯乙烯管材.pdf VIP
- C-H-Z 3002-2010 无人机航摄系统技术要求(正式版).docx VIP
- 建筑工程预结算审核的关键环节与质量控制.docx VIP
- 六自由度工业机器人外文文献.pdf VIP
- TCECS625-2019 钢管再生混凝土结构技术规程.pdf VIP
- 高中成绩报告单模板(正式中英文双语版).doc VIP
- 《中华人民共和国人民防空法》培训解读课件.pptx VIP
- SW220K转向架培训教材.docx VIP
原创力文档


文档评论(0)