




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆理工大学文献翻译二级学院计算机科学与工程学院班级10级软件工程一班学生姓名吴跃文学号11003080126译文要求1、译文内容必须与课题(或专业)内容相关,并需注明详细出处。2、外文翻译译文不少于2000字;外文参考资料阅读量至少3篇(相当于10万外文字符以上)。3、译文原文(或复印件)应附在译文后备查。译文评阅导师评语(应根据学校“译文要求”,对学生外文翻译的准确性、翻译数量以及译文的文字表述情况等作具体的评价)指导教师:年月日
译文文章出处:iOSinPractice作者:BEARCAHILL开始iOS开发我专职从事开发已经20年了,几乎学习了所有语言和平台,但是我相信iOS开发是所有开发中最令人激励,有趣,回报高,极具挑战性的。我爱iOS开发。从开发者的角度来说他不但是最吸引人的,而且它同时也是领先的手机平台。这就意味着有很多可以做的,成长很多,变化很多,还可以从苹果,论坛还有其他开发者,书籍,会议等等方面得到很多的支持。随着iOS系统和其他手机平台,平板的成长,这些很好的连接了传统电脑和只能手机的平台,现在都成为了巨大的市场。这些手机设备给开发者带来了更多的机会,iOS让你能够同时为两个平台做开发。在本章中,我们会开发一个iOS应用。我们需要一起来了解一些话题,包括搭建开发环境,在本章的最后,你会有你的第一个应用。让我们开始吧。iOS开发环境Xcode是开发iOS以及OSX应用的主要工具。苹果免费提供给开发者的,而且还提供了很多开发相关的工具,包括UI设计开发,版本控制等。iOS开发的主要语言叫做Objective-C。Objective-C是C的衍生语言,这就意味着所有的C代码都能够兼容,在Ojective-C中运行。但是,和C语言不同,Objective-C是面向对象的。如果你了解C++,Java或者其他面向对象的编程语言,那么理解Objective-C就不会有问题。记住这本书的目的不是教你学习Objective-C,如果你对这门语言的学习有问题的话,你可以使用其他的资源来研究Objective-C。苹果同时提供了很丰富的各种框架。有些框架开发所有的应用都需要使用,所以自动包含在了Xcode中。根据你自己的偏好,其他的框架可以选择性的添加到工程中。iOS刚出来的时候,显示一个地点的地图非常难,需要很大的工作量。给地图增加锚点更加复杂。后来MapKit发布了,增加了一个地图,显示用户的位置变得基本毫无困难。把WebKit,StoreKit,MediaPlayer,Social,CoreData这些框架添加到工程中很方便,功能也很强大。很多开源的第三方框架可以省去你很多的时间帮助完成复杂的功能。iOS开发很大程度上以来Model-View-Controller(MVC)构架模式。MVC把开发分成了三方面:模型(model),视图(view)以及控制器(controller)。Model是数据层(比如说,工程中的数据库)。View是和用户互劢的UI。Controller是view和model的中间部分,它负责把用户行为翻译成逻辑,访问数据。正如你所见,Xcode做了很多来帮助你作为开发者需要做的工作,同时还让你可以用最适合iOS工程的方式去做。让我们来看看如何获取,安装,并熟悉Xcode吧,然后让我们来开发你的第一个应用。1.2使用Xcode正如上一节所说,Xcode是iOS工程开发的主要工具。在这一节,我们会了解如何从苹果获取Xcode,然后了解一下Xcode的各部分的内容方便以后的开发工作。1.2.1获取Xcode在appStore中搜索Xcode,可以快速找到它。Xcode是免费的,所以直接点击FREE按钮开始安装(见下图)。由于文件比较大,下载需要花些时间,但是下载过程非常简单。Xcode以及相关的应用可以在/Developer/applications下安装,关键的应用会被添加到Launchpad中的Developer文件夹中。你也可以到下载Xcode,但是这需要更多的操作。在网站上可以看到一些参加开发者项目的信息,比如说Safari,iOS,以及Mac项目。大部分情况下开发者项目都需要花钱才能加入,但是加入的话也可以获取到高级/测试的iOS固件或者开发工具,开发者论坛以及其他资源。如果你希望深入iOS开发的话,我强烈建议你加入。如果你想要发布任何应用的话,你必须加入。现在你安装了Xcode,让我们来看看它的组成部分吧。1.2.1Xcode之旅Xcode可以处理iOS工程开发中的所有主要方面开发。它可以管理代码的组织,链接框架,UI设计,编辑,工程(比如说常规以及专业版本的给不同应用使用的相同的codebase),创建,测试以及提交应用给苹果审核。在本章中,我们会了解Xcode的基础部分。在接下来的章节中,我们会深入Xcode不同部分的细节问题。Xcode可以帮助我们这么多,那他拥有这么多的区域,面板,view等内容就说得通了。左边的Navigator显示了各种文件,框架,工程以及在你的工程中包含的项目(见下图)。它可以让你选择文件迚行编辑或者管理。Utilities区域,点击右上方的的View按钮的右边按钮显示,它显示了选择项目(比如说一个文件)的各个方面以及设置(见下图)。这儿你可以看到一个给定的项目是如何和其他项目相关联的,设置各种属性以及其他。当使用InterfaceBuilder(IB)编辑器来设置可视化项目的属性时特别有用。由于所有的开发都需要一种方式来编辑代码,IB编辑器可能是Xcode中看上去最熟悉的项目了(见下图)。但是IB编辑器不仅仅可以用来编辑代码,还可以用来编辑UI和数据(比如说CoreData的数据库设计),全书的项目都会涉及到这个部分。Debug区域在底部显示,这个区域可以分成两部分,右边可以显示Console,查看standardoutput(见下图)。这两部分对在测试期间显示各种value和output非常有帮助。Toolbar位于窗口的顶部,可以显示各种求,开始/停止测试,为创建工程选择scheme(见下图)。Organizer,在窗口memu部分显示,开发的很多方面都需要用到它。它可以显示框架还有其他有帮助的文件,方便提交你的二迚制文件给appStore审核,组织各种设备等等其他功能(见下图)。它可以帮助你记录Provisioning文件,也可以帮助获取设备上的崩溃报告(这不是说你的应用会崩溃,只是其他人需要这个)。Organizer可以通过使用commard键+点击代码中的文本,可以组织和和文本相关的文件。同时,Organizer可以让你访问有用的文件比如说“AppleHumanInterfaceGuidelines《苹果人机交互指南》”以及“LearningObjective-C:APrimer“《学习Objective-C,入门指导》”。这两个文件都推荐你阅读。现在已经大概了解了Xcode和它的开发环境,让我们来创建一个应用吧!1.3HelloWorld应用作为探索Xcode以及了解iOS开发的一种方式,让我们先来创建一个基础的应用。这不需要花费很多工作,但是可以帮助你了解创建应用的基础。首先,你可以创建一个新的工程,创建工程包括几个关键的步骤。然后你可以给应用创建UI,然后运行应用。1.3.1创建一个新的工程打开Xcode,选择CreateaNewProject(见下图)。然后可以选择工程的模板。请确定在顶部左边的iOS栏下选择了Application。在右边会显示一些合适的选择。选择SingleViewApplication(见下图),然后点击右下角的Next。然后会有一个弹出框,让你输入产品的名称,设置Companyidentifier,这通常是一个反向的DNS值。你还需要制定一个类前缀(classprefix)(这是为命名约定服务的),然后指定设备类型(比如说iPhone)。最后,为了UI设计选择Storyboard选项,为了以后内存管理选择引用计数,最后再选择单元测试。点击Next,迚入到Finder窗口,这里可以指定工程的位置(见下图)。在这步的时候,你还可以给工程创建一个本地的gitrepository。(见下图的底部)。点击Create,现在你的工程的开发前准备工作做好了。Xcode会显示默认的Target的summary(见下图)。你可以看到之前做的选择。请特别注意在Navigator中使用前缀做的命名约定。由于在创建应用的时候,你选择了使用Storyboard设置,所以还要注意MainStoryboard的MainStoryboard设置。如果你没有检查那个盒子,这个设定可能是空的,取而代之,就会使用一个MainInterface设置。默认的MainInterface设置会将UI设计和xib文件想关联。然后,你的工程就会有一个.storyboard文件。本书的大部分工程都会使用XIB文件来做UI设计,但是也会使用storyboard。现在让我们来看看这个文件还有你第一个应用的UI。1.3.2编辑UI基于模板对工程迚行开发之前,首先让我们运行工程。是的,现在的状态已经可以迚行编译和运行了。请确保在scheme的下拉目录的做上角选择iPhone模拟器(见下图),然后点击运行。Xcode将会编译,关联,使用iOS模拟器执行代码。现在只会显示一个空白的屏幕,因为应用现在还没有内容,让我们来改变它!在工程中点击storyboard文件(比如说,MainStoryboard.storyboard);UI的内容会在编辑器中显示,以我们的情况来说,是InterfaceBuilder做的UI(见下图)。白色的矩形是viewcontroller,之前在模拟器中运行项目的时候见过。注意一下Navigator中的HWViewController.h/.m文件。注意编辑器左边表单中的项目(见下图)。列出的ViewController是HWViewController类的实例。因此,在编辑器中改变它会影响应用的运行效果。请确定Utilities是可见的(Xcode的右上角,View上的右边按钮),然后还要注意在底部有一个UIKit框架中的界面组件列表(见下图)。双击label,然后输入HelloWorld(见下图)现在再次运行应用,然后…恭喜!你有了一个具有一定功能的应用了!看看下图,了解一下应用的label应该是什么样子。1.4总结做的好!你的第一个应用完成了!不是很难,对吗?现在你是一个iOS开发者了(尽管我不指望你可以从你刚刚做的应用赚得什么钱)!在本章中,你了解了Xcode,包括如何获取Xcode还有它的各个部分区域、视图、编辑器等等。基于这些知识,我们快速的开发了一个HelloWorld应用来体验iOS开发。但是这仅仅是开始。我相信你见过iOS应用做的一些很令人惊叹的事情,所以我们还可以实现更多的可能,而不仅仅只是刚刚做的那些。下一章,对HelloWorld应用我们还可以做一些更多的工作,包括UI内容。可以做的事情没有任何限制,现在就让我们开始吧!
翻译原文GettingstartedwithiOSdevelopmentI’vebeendevelopingprofessionallyforover20yearsinabouteverylanguageandplatform,butIbelieveiOSdevelopmentissomeofthemostexciting,fun,gratifying,andchallengingworkI’veeverdone.IloveiOSdevelopment.Notonlyisitappealingfromadeveloper’sstandpoint,it’salsotheleadingmobileplatform.Thismeansthatthere’slotstodo,withlotsofgrowthandchanges,andplentyofsupportouttherefromApple,forums,otherdevelopers,books,conferences,andsoon.WiththegrowthofiOSandothermobileplatforms,tablets,whichnicelybridgetraditionalcomputersandsmartphones,arenowahugemarket.Thesemobiledevicesallowformoreopportunitiesfordevelopment,andiOSletsyoudevelopforbothplatformssimultaneously.Inthischapter,wedevelopaniOSapplication(orapp).Weneedtogooverafewtopics,includingsettingupthedevelopmentenvironment,butbytheendofthechapter,you’llhaveyourfirstapp.Let’sgo!1.1TheiOSdevelopmentenvironmentXcodeistheprimarytoolfordevelopingiOS(andOSX)applications.It’sfreefromAppleandhelpswithavarietyofdevelopment-relatedtasksincludinguserinterface(UI)design/development,revisioncontrol,andmore.TheprimarylanguagethatiOSisdevelopediniscalledObjective-C.Objective-CisadescendentofC,whichmeansthatallCcodewillcompileandruninObjective-C.But,unlikeC,Objective-Cisobject-oriented.IfyouknowC++,Java,orotherobjectorientedlanguages,you’llhavenoproblemunderstandingthislanguage.Keepinmindthatthepurposeofthisbookisn’ttoteachyouObjective-C,soifyoufindyou’rehavingahardtimewiththelanguage,youmaywanttotakesometimeanduseotherresourcestoresearchObjective-C.Applealsoprovidesarichsetofframeworks.Somearerequiredforanyappandareautomaticallyincluded.Therestareoptional‚dependingonyourpreferences‚andcangreatlyaddtoyourproject.WheniOSfirstcameout,displayingamapofalocationwasdifficultandlaborintensive.Addingpinnedlocationstothemapwasevenmorecomplex.WhenMapKitwasintroduced,addingamapanddisplayingtheuser’slocationbecamepracticallyeffortless.WebKit,StoreKit,MediaPlayer,Social,andCoreDataareafewmoreframeworksthatbringeaseoffunctionalitywhenaddedtoyourprojects.Manyopensourceand/orthird-partyframeworksareavailabletokeepyoufromhavingtoreinventthewheelforcommon—butcomplicated—functionality.iOSdevelopmentalsoreliesheavilyontheModel-View-Controller(MVC)architecturepattern.MVCistheseparationofyourdevelopmentintothreeaspects:model,view,andcontroller.Themodelisthedatalayer(forexample,thedatabaseinaproject).TheviewistheUIthattheuserinteractswith.Thecontrollerisbetweentheviewandthemodel,andittranslatestheuserinteractiontologicandaccessesdataasnecessary.Asyoucansee,XcodedoesalottofacilitatewhatyouneedtodoasadeveloperaswellasenablesyoutodoitinafashionbestsuitedforiOSprojects.Let’slookintothedetailsofgetting,installing,andbecomingfamiliarwithXcode,andthenyou’lldevelopyourfirstapp.1.2UsingXcodeAsstatedintheprevioussection,XcodeistheprimarydevelopmenttoolforiOSprojects.Inthissection,welookathowtogetXcodefromAppleandtourthevariouspartsofXcodetosimplifyiOSdevelopment.1.2.1GettingXcodeUsingtheAppStorefromApple,youcansearchforXcodeandquicklyfindit.It’sfree,sojustclickontheFREEbuttontobegintheinstall(seefigure1.1).It’salargedownloadandmighttakeawhile,butthedownloadprocessisprettyeasy.Xcodeandrelatedappswillthenbeinstalledin/Developer/ApplicationsandkeyappswillbeaddedtotheDeveloperfolderinLaunchpad.YoumayalsogotoanddownloadXcodeifyou’dliketogothemoremanualroute.Thereyou’llalsoseeinformationaboutjoiningthevariousdeveloperprogramssuchasSafari,iOS,andMac.Inmostcases,thedeveloperprogramscostmoneytojoin,buttheyalsoallowaccesstoadvance/betareleases,developerforums,andotherresources.IfyouintendtodomuchiOSdevelopment,Ihighlyrecommendjoining.Ifyouintendtoreleaseanyapps,youhavetojoin.NowthatyouhaveXcodeinstalled,let’slookatthevariousaspectsofit.1.2.2TourofXcodeXcodecanhandleallofthemajoraspectsofprojectdevelopmentforiOSprojects.Itcanmanagetheorganizationofcode,linkingframeworks,UIdesign,editing,projects(suchasregularandproversionsofthesamecodebaseforseparateapps),building,testing,andsubmissiontoAppleforreview.Inthischapter,welookatsomeofthebasicstogetstartedwithXcode.Inlaterchapters,weexploremoredetailsandareasofXcode.GiventhatXcodehelpsinsomanyways,itmakessensethattherearealotofareas,panes,views,andsuchincludedinit.TheNavigatorontheleftdisplaysthevariousfiles,frameworks,projects,andrelateditemsincludedinyourproject(seefigure1.2).Thisallowsyoutoselectfilestoeditorcontrolinvariousways.TheUtilitiesarea,displayedbytherightbuttonaboveView.TheUtilitiesarea,displayedbytherightbuttonaboveViewonthetopright,showsvariousaspectsandsettingsofaselecteditemsuchasafile(seefigure1.3).Hereyoucanseehowagivenitemrelatestootheritems,setvariousattributes,andmore.ThisisparticularlyhelpfulwhenusingtheInterfaceBuilder(IB)UIeditortosetattributesonvisualitems.TheEditorisprobablythemostfamiliar-lookingiteminXcodebecausealldevelopmentneedsawaytoeditcode(seefigure1.4).ButtheEditorservesastheeditornotonlyforcode,butalsotheUIanddata(suchasdatabasedesignforCoreData),whichyou’llseethroughouttheprojectsinthisbook.TheDebugareadisplaysatthebottomandcanbesplittodisplaytheConsoleontherightforviewingstandardoutput(seefigure1.5).Bothofthesecanbehelpfulfordisplayingvariablevaluesandoutputduringtesting.TheToolbarislocatedatthetopofthewindowandishelpfulfordisplayingvariousareas,starting/stoppingtestruns,andselectingwhatschemetouseforbuilding(seefigure1.6).TheOrganizer,whichisdisplayedintheWindowmenu,isusedforavarietyofaspectsofdevelopment.Itdisplaysframeworkandotherhelpdocumentation,facilitatessubmittingyourbinarytotheAppStoreforreview,organizesyourvariousdevices,andmore(seefigure1.7).Itcanhelpyoukeeptrackofyourprovisioningprofilesaswellasgiveyouaccesstoyourcrashreportsonyourdevices(notthatyourappswillcrash—otherpeopleneedthis).TheOrganizercanbeparticularlyhelpfulinbringingupcontext-relateddocumentationbyusingcommand-clickontextinyourcode.Also,itgivesyouaccesstohelpfuldocumentlikethe“AppleHumanInterfaceGuidelines”and“LearningObjective-C:APrimer.”Botharerecommendedreading.NowthatyouhaveyourbearingswithXcodeanditsenvironment,let’sbuildthatapp!1.3AquickHelloWorldappAsawaytoexploreXcodemoreandgetyourfeetwetiniOSdevelopment,you’llcreateabasicapp.Itwon’tdomuch,butitwillbeaquickpassthroughthebasicsofcreatinganapp.First,you’llcreateanewprojectthatincludesseveralstepstospecifynecessaryaspectsofyourproject.Thenyou’llcreatetheUIforyourappandrunit.1.3.1CreatingaNewProjectStartXcodeand,whenprompted,selectCreateaNewProject(seefigure1.8).You’llbepresentedwithvariousoptionsforatemplateforyourproject.BesurethatApplicationisselectedunderiOSonthetopleft.Theappropriateoptionswillbedisplayedontheright.SelectSingleViewApplication(seefigure1.9)andclickNextonthebottomright.You’llthenbepromptedtonameyourproductaswellassetthecompanyidentifier,whichistypicallyareverseDNSvalue.You’llalsospecifyaclassprefix(forthenamingconvention)andspecifythedevicefamily(suchasiPhone).Finally,selectStoryboardforUIdesign,referencecountingformemorymanagement,andunittests(seefigure1.10).ClickNextandyou’llbepresentedwithaFinderwindowtospecifythelocationoftheproject(seefigure1.11).Youcanalsocreatealocalgitrepositoryforyourprojectduringthisstep(seethebottomoffigure1.11).ClickCreateandyourprojectisnowreadytodevelop!XcodewilldisplayyourdefaultTarget’ssummary(seefigure1.12).You’llbeabletoseetheselectionsyoumade.PayparticularattentiontothenamingconventionusingtheprefixintheNavigator.NotealsotheMainStoryboardsettingofMainStoryboardbecauseyouchosetousetheStoryboardsettingduringyourappcreation.Ifyouhadn’tcheckedthatbox,thissettingwouldbeemptyandyou’dhaveaMainInterfacesettinginstead.ThedefaultMainInterfacesettingswouldrelatetoaUIdesignfilewiththefileextensionofxib.Instead,youhavea.storyboardfileinyourproject.MostoftheprojectsinthisbookuseXIBfilesforUIdesign,butyou’lluseStoryboardhere.Nowlet’slookatthefileandtheUIofyourfirstapp.1.3.2EditingtheuserinterfaceBeforeyouchangeyourprojectbasedonthetemplate,let’srunit.Yep,it’salreadyinastatewhereyoucancompileandrunit.MakesuretheiPhoneSimulatorisselectedintheschemepull-downmenuonthetopleft(seefigure1.13)andclickRun.Xcodewillcompile,link,andexecutethecodeusingtheiOSSimulator.Itwillonlydisplayablankwhitescreenbecauseyourappdoesn’tdoanythingyet.Let’schangethat!ClickontheStoryboardfileinyourproject(forexample,MainStoryboard.storyboard);theUIcontentswillbedisplayedintheEditor,which,inthiscase,isInterfaceBuilderfortheuserinterface(seefigure1.14).Thatwhiterectangleistheviewcontrolleryousawdisplayedwheny
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 遗传咨询师模拟考试题及答案
- 驾校科三灯光考试题库及答案
- 6年级下册的考试卷子及答案
- 山东省中职春考试题库及答案
- 机电一体化知识考试题及答案
- 《人格心理学》试题及详细答案
- 孕产服务区域差异研究-洞察与解读
- 变电站故障动态分析方法-洞察与解读
- 2025年济南市事业单位招聘考试综合类专业能力测试试卷(旅游类)案例分析真题模拟解析
- 2025年事业单位招聘考试教师地理学科专业知识试卷及答案
- DZ-T 0270-2014地下水监测井建设规范
- 中英文员工评估表
- β内酰胺类抗菌药物皮肤试验指导原则(2021版)
- 小学语文论文:浅谈小学六年级语文有效教学
- 学生资助政策宣传主题班会PPT
- 天津某钢厂高速线材主轧线设备安装方案年产万吨
- 人教版初中语文《名著导读》
- 大一统专题复习-高中历史教学资料
- YS/T 1018-2015铼粒
- 【高等数学练习题】沈阳大学专升本自考真题汇总(附答案解析)
- 合作项目管理办法
评论
0/150
提交评论