欢迎来到天天文库
浏览记录
ID:34804261
大小:441.50 KB
页数:15页
时间:2019-03-11
《浅谈ios程序开发objectivec及xcode完整版本》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、iOS程序开发——Objective-C及Xcode4摘要iOS是由苹果公司开发的操作系统,它主要是给iPhone、iPodtouch以及iPad使用。iOS的系统架构分为四个层次:核心操作系统层(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),可轻触层(theCocoaTouchlayer)。应用程序由Objective-C语言开发,可控元件有GPS模块、光线传感器、加速度传感器、地磁感应器、电子罗盘包括一些多媒体设备等。矚慫
2、润厲钐瘗睞枥庑赖。关键词:ios系统Objective-CXcode4聞創沟燴鐺險爱氇谴净。随着电子科技的发展,装载有ios系统的智能终端成为市场的宠儿,ios系统的应用软件市场需求量越来越大,相应的APPStore的应用程序超过42万个,覆盖了书籍类、游戏类、其他娱乐、教育、生活方式等多个领域。现有的ios应用程序远不能满足人们的要求,基于IOS的接口适配器模块及程序开发可以为原终端提供扩展,可以实现智能终端对硬件外设的操控,扩大应用范围,是人类生活更方便。残骛楼諍锩瀨濟溆塹籟。这篇文章我根据Apple
3、DevCenter的技术资料,加上自己的理解总结而成的文章。之前看过iPhoneOS的gettingstarted系列文章的第一篇文章,应该总结一下。酽锕极額閉镇桧猪訣锥。 iPhoneOS由两部分组成:操作系统和支持iPhone和iPodtouch设备上运行原生程序的技术集。iPhoneOS继承自MacOSX,而且很多底层技术是共享的,但是iPhoneOS是为移动设备而设计,有些技术是在iPhoneOS上独有的,比如多触点技术。彈贸摄尔霁毙攬砖卤庑。 运行在内核之上,iPhoneOS可以分成四层。如图
4、:CoreService层和CoreOS层负责和内核打交道(自己的理解),这两层是基于C语言的。提供底层接口支持,包括网络套接字、POSIX线程、文件的访问等等。謀荞抟箧飆鐸怼类蒋薔。Media层支持音频、视频及2D/3D绘图等多媒体相关服务。包含的技术有基于C语言的OpenGLES等。同时这层还包含基于Object-C语言的动画引擎,使用动画的相关服务,应该就用到这层的服务。厦礴恳蹒骈時盡继價骚。CocoaTouch层是最常用到的服务层,可以使用这层提供的框架来进行程序开发,UIKit框架是图形界面程序
5、的框架,利用它可以创建类似的应用。开始学习iPhoneOS的编程技术是,应该先从这一层提供的框架开始学习,当掌握之后,在学习底层的接口和编程技术。茕桢广鳓鯡选块网羈泪。iPhoneOS的事件处理模型是一个里程碑,引入了触摸事件,这里说的触摸事件和传统的触摸事件有很大不同。传统的触摸事件只支持一个点的事件,但是iPhoneOS的触摸事件支持多点的触摸事件,所以事件的处理模型是一个非常大的技术创新。鹅娅尽損鹌惨歷茏鴛賴。以上对ios有了一些大概的了解,接下去讲讲它的开发工具Objective-C及Xcode4
6、。1、Objective-C的介绍及应用Objective-C是非常“实际”的语言。它使用一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。籟丛妈羥为贍偾蛏练淨。Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时
7、间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep), Apple在其MacOSX 10.3中仍未引入这个功能。不过令人欣慰的是在Apple发布的xCode4中已经支持自动释放啦,我不敢冒昧地说那是垃圾回收,因为两者机制不同,在xCode4中的自动释放,也就是ARC(AutomaticReferenceCounting)机制,是不需要用户手动去Release一个对象,而是在编译期间,编译器会自动帮你添加那些以前你经常写的[NS
8、Objectrelease]。預頌圣鉉儐歲龈讶骅籴。另一个问题是ObjC不包括命名空间机制(namespacemechanism)。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa编程环境中,所有MacOSX类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚分别它们属于MacOSX核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。渗釤呛俨匀谔鱉
此文档下载收益归作者所有