DOI:10.
19644/j.
cnki.
issn2096-1472.
2018.
09.
003软件工程SOFTWAREENGINEERING第21卷第9期2018年9月Vol.
21No.
9Sep.
2018浅析iOS应用开发——以QA项目为例彭英杰(青海民族大学计算机学院,青海西宁810007)摘要:随着现代移动信息技术的快速发展,移动医疗类APP可以实现医患"一对一"的个性化服务,为病人提供专业、准确的康复训练计划,并提供健康咨询、心理咨询等多种咨询服务.
本文研究将从Objective-C(OC)的语言特点入手,重点分析基于iOS系统开发QA项目,通过QA项目需求分析、UI界面详细设计、功能模块逻辑实现等途径,实现了用户在线咨询自己的病情、搜索附近的医院、搜索相关药物等操作,在为患者提供便利的医疗服务的同时,也提高了医护人员的工作效率.
关键词:iOS;医疗类APP;个性化;专业;探究中图分类号:TP311文献标识码:AABriefAnalysisoftheApplicationandDevelopmentofiOS—ACaseStudyoftheQAProjectPENGYingjie(SchoolofComputerScience,QinghaiUniversityforNationalities,Xining810007,China)Abstract:Withtherapiddevelopmentofmodernmobileinformationtechnology,mobilemedicalAPPcanrealizetheone-to-onepersonalizedservicefromdoctorstopatients,provideprofessionalandaccuraterehabilitationtrainingprogramsforpatients,andprovidevariousconsultationssuchashealthconsultationandpsychologicalcounselingservice.
ThispaperstartswiththelanguagefeaturesofObjective-C(OC),focusingonthedevelopmentofQAprojectsbasedoniOS.
BymeansofQAprojectrequirementsanalysis,UIdetaileddesign,functionalmodulelogicimplementation,thefunctionsofillnesscounseling,nearbyhospitalsearchingandrelateddrugsearchingcanbeimplementedforusers,providingconvenientmedicalservicestopatientsandimprovingtheworkefficiencyofmedicalstaff.
Keywords:iOS;medicalAPP;personalized;professional;explore1引言(Introduction)近年来,虽然我国的人口在不断增加、经济在不断发展,与之形成鲜明对比的是我国的医生数量却存在巨大的缺口.
截止目前我国的执业医师及执业助理医师的人数还没有超过400万,全科医生的人数不足5%,虽然有关部门针对这一系列问题采取了诸多措施,但问题依然严峻,在医生数量增长缓慢的同时,人口老龄化、食品、环境问题带来的病人却在大幅增加[1].
由于我国政府在医疗中投入的资金相对较少、医疗体制不健全、患者人数过多等多种原因,使得我国看病难的问题日益严重.
而随着移动互联网的飞速发展,以智能手机为代表的移动智能终端与人们的生活联系日益密切,从而为iOS医疗类APP的开发提供了有力的支撑[2].
2Objective-C语言简介(AbriefintroductiontoObjective-Clanguage)现在iOS的开发语言有OC和swift两种方式,因为swift的稳定性还没有得到较好的完善,版本之间的兼容性较差,所以本文中使用OC进行开发.
OC是一种基于C语言的面向对象汇编语言.
OC对类的含义、类的属性、类的方式等进行了定义,并有类别、类扩展等动态扩展方式,OC对类的定义及实现基本是通过Smalltalkp实现,且其语法与C/C++相通,是一门运行时编程语言[3].
2.
1OC中的语言特性OC作为一门面向对象的汇编语言,拥有封装、继承、多态三大特点,并还拥有自身独有的特性.
例如运行时runtime是C语言的底层库,拥有许多底层C语言API,因为OC就是在C语言的基础上发展而来的,所以使用runtime的效率很高[4].
实际上,OC的语法就是对C语言的封装,最终OC代码还是会转换为C语言运行,故runtime和在编译时就已经明确了的静态语言不同,runtime能在程序运行中对程序进行类型判别、动态加载、动态绑定等行为.
OC和C++相比,它的不同之处在于不能直接支持多重继承与多态,但是能够使用其他的技术方式达到继承和多态的效果,比如在多重继承的实现上,能够通过类别、类扩展、runtime的消息转发机制等方式达到,也能通过使用protocol的方式实现多态[5].
2.
2OC中的继承类在OC中绝大部分类都是通过直接或间接继承NSObject得到的.
NSObject提供了较多类实例化的方式,例如对象的内存请求、内存释放等,OC能够通过在子类中重写该方法,而重新定义该类.
2.
3OC中的内存管理OC语言最早使用的是MRC进行内存的手动管理,近年来已经开始使用ARC进行计数器的自动计数.
OC的内存通过引入引用计数器来进行管理,当每使用一次alloc、copy、mutableCopy、new时,其应用计数器retainCount+1,在其后都必须使用release使其减一,当retaincount变为0时,此时对象被释放.
对象被释放时,它使用的内存就会被回收,此时系统会自动给释放的对象发送一条dealloc信息(通过重写dealloc能够清楚知道对象是不是已经被释放)[6].
3iOS系统简介及系统特性(BriefintroductionandsystemcharacteristicsofiOSsystem)CocoaTouchLayer是iOS架构中的最顶层,是iOS系统中最为主要的部分之一.
它的作用是可以确保程序界面的可视化,并能与较为高级的系统进行交互服务.
TouchLayer层拥有核心框架,能够提供各种基础性服务,例如各种控件的点击、事件的触发等.
TouchLayer层下是MediaLayer,该层主要用于提供类库与各种框架,能够实现多种功能例如图像的2D和3D渲染、各种格式图片的读写、并能通过较高级的框架进行各种动画的制作,还能通过媒体层中的底层框架来实现对工具的利用.
再下一层是CoreServicesLayer,该层可以对所有的程序提供基础性服务.
这些服务大多是处于核心功能与核心功能库之间,全部应用都要大量使用这些基础类型[7].
最底层为CoreOSLayer,该层能够提供最底层的服务.
iOS的很多技术其底层都是OSCore,CoreOSLayer能够管理虚拟内存、网络、文件系统,并能实现各个进程之间的相互交流.
同时,其还拥有较多API,能够使得iOS设备能与其他设备相连.
已经有一段时间没有分享阿里云服务商的促销活动,主要原因在于他们以前的促销都仅限新用户,而且我们大部分人都已经有过账户基本上促销活动和我们无缘。即便老用户可选新产品购买,也是比较配置较高的,所以就懒得分享。这不看到有阿里云金秋活动,有不错的促销活动可以允许产品新购。即便我们是老用户,但是比如你没有购买过他们轻量服务器,也是可以享受优惠活动的。这次轻量服务器在金秋活动中力度折扣比较大,2G5M配置年付...
对于如今的云服务商的竞争着实很激烈,我们可以看到国内国外服务商的各种内卷,使得我们很多个人服务商压力还是比较大的。我们看到这几年的服务商变动还是比较大的,很多新服务商坚持不超过三个月,有的是多个品牌同步进行然后分别的跑路赚一波走人。对于我们用户来说,便宜的服务商固然可以试试,但是如果是不确定的,建议月付或者主力业务尽量的还是注意备份。HostYun 最近几个月还是比较活跃的,在前面也有多次介绍到商...
HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...