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设备能与其他设备相连.
青云互联怎么样?青云互联是一家成立于2020年的主机服务商,致力于为用户提供高性价比稳定快速的主机托管服务,目前提供有美国免费主机、香港主机、韩国服务器、香港服务器、美国云服务器,香港安畅cn2弹性云限时首月五折,15元/月起;可选Windows/可自定义配置,让您的网站高速、稳定运行。点击进入:青云互联官方网站地址青云互联优惠码:八折优惠码:ltY8sHMh (续费同价)青云互联香港云服务器活动...
棉花云官网棉花云隶属于江西乐网科技有限公司,前身是2014年就运营的2014IDC,专注海外线路已有7年有余,是国内较早从事海外专线的互联网基础服务提供商。公司专注为用户提供低价高性能云计算产品,致力于云计算应用的易用性开发,并引导云计算在国内普及。目前公司研发以及运营云服务基础设施服务平台(IaaS),面向全球客户提供基于云计算的IT解决方案与客户服务(SaaS),拥有丰富的国内BGP、双线高防...
创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川眉山联通、广东优化线路高防机柜,CN2专线相关业务。广东电信大带宽近期可以预约机柜了,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网...