摘要 | 第5-6页 |
Abstract | 第6-7页 |
目录 | 第8-10页 |
第一章 绪论 | 第10-22页 |
1.1 研究背景与意义 | 第10-11页 |
1.2 本课题的研究进展 | 第11-19页 |
1.2.1 软件移植相关进展 | 第11-17页 |
1.2.2 Objective-C语言到Swift移植现状与问题 | 第17-19页 |
1.3 本课题主要研究内容 | 第19-22页 |
第二章 关键技术分析 | 第22-30页 |
2.1 面向对象语言的概述 | 第22-23页 |
2.2 面向对象语言的移植研究机制 | 第23-24页 |
2.3 面向对象语言的移植粒度 | 第24-25页 |
2.4 ObjC语言和Swift语言的相关技术 | 第25-29页 |
2.5 本章小结 | 第29-30页 |
第三章 基于构件知识库的面向对象语言的移植研究 | 第30-40页 |
3.1 基于构件知识库的面向对象语言的移植框架 | 第30-35页 |
3.2 基于构件知识库的移植方法 | 第35-38页 |
3.3 基于构件知识库的可移植度量 | 第38-39页 |
3.4 本章小结 | 第39-40页 |
第四章 ObjC到Swift的构件知识库 | 第40-60页 |
4.1 从ObjC到Swift语法映射规则 | 第40-53页 |
4.1.1 Swift基础语法、运算符及其与ObjC的对比 | 第40-41页 |
4.1.2 空值nil | 第41-42页 |
4.1.3 控制流 | 第42页 |
4.1.4 方法与函数 | 第42-43页 |
4.1.5 ObjC中的dealloc和Swift中的deinit | 第43-44页 |
4.1.6 定义类的转换 | 第44-46页 |
4.1.7 属性定义的转换 | 第46页 |
4.1.8 属性的特性转换 | 第46-48页 |
4.1.9 ObjC主函数移植 | 第48页 |
4.1.10 协议与代理 | 第48-52页 |
4.1.11 ObjC类别和扩展的转换 | 第52页 |
4.1.12 Block到Closure的转换 | 第52-53页 |
4.2 Cocoa设计模式的转换 | 第53-55页 |
4.2.1 错误报告 | 第53页 |
4.2.2 Cocoa中的键值观察者(Key-Value Observer)机制转换 | 第53-54页 |
4.2.3 目标-行为模式(Target-Action) | 第54页 |
4.2.4 内省(introspection)模式的转化 | 第54-55页 |
4.3 从ObjC到Swift的构件知识库初始化 | 第55-59页 |
4.3.1 数据映射规则建立 | 第55-57页 |
4.3.2 系统库的转换机制 | 第57-58页 |
4.3.3 构件转换表 | 第58-59页 |
4.4 本章小结 | 第59-60页 |
第5章 ObjC到Swift的构件知识库代码移植实施与验证 | 第60-72页 |
5.1 类的粒度基于构件知识库的移植 | 第60-64页 |
5.1.1 测试过程 | 第60-63页 |
5.1.2 效果评估 | 第63-64页 |
5.2 函数的粒度基于构件知识库的移植 | 第64-65页 |
5.2.1 测试过程 | 第64页 |
5.2.2 效果评估 | 第64-65页 |
5.3 语句粒度的移植 | 第65-66页 |
5.3.1 测试过程 | 第65-66页 |
5.3.2 效果评估 | 第66页 |
5.4 代码的组装及构件知识库学习 | 第66-71页 |
5.4.1 测试过程 | 第66-69页 |
5.4.2 效果评估 | 第69-71页 |
5.5 本章小结 | 第71-72页 |
第六章 总结与展望 | 第72-74页 |
6.1 总结 | 第72页 |
6.2 展望 | 第72-74页 |
附录 | 第74-90页 |
参考文献 | 第90-94页 |
致谢 | 第94-96页 |
个人简历、在学期间发表的论文与研究成果 | 第96页 |