浅谈iOS程序开发ObjectiveC及Xcode4-完整版.doc

浅谈iOS程序开发ObjectiveC及Xcode4-完整版.doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈iOS程序开发ObjectiveC及Xcode4-完整版

iOS程序开发——Objective-C及Xcode4 摘 要 iOS是由苹果公司开发的操作系统,它主要是给iPhone、iPod touch以及iPad使用。iOS的系统架构分为四个层次:核心操作系统层(the Core OS layer),核心服务层(the Core Services layer),媒体层(the Media layer),可轻触层(the Cocoa Touch layer)。应用程序由Objective-C语言开发,可控元件有GPS模块、、、、ios系统 Objective-C Xcode4 随着电子科技的发展,装载有ios系统的智能终端成为市场的宠儿,ios系统的应用软件市场需求量越来越大,相应的APPStore的应用程序超过42万个,覆盖了书籍类、游戏类、其他娱、教育、生活方式。根据Apple Dev Center的技术资料,加上自己的理解总结而成的文章。看过iPhone OS的getting started系列文章的第一篇文章,应该总结一下。 ?iPhone OSiPhone和iPod touch设备上运行原生程序的技术集。iPhone OS继承自Mac OS X,而且iPhone OS是为移动设备而设计,有些技术是在iPhone OS上独有的,比如多触点技术。 ??运行在内核之上,iPhone OS可以分成四层。如图: Core Service层和Core OS层负责和内核打交道(自己的理解),这两层是基于C语言的。提供底层接口支持,包括网络套接字、POSIX线程、文件的访问等等。 Media 层支持音频、视频及2D/3D绘图等多媒体相关服务。包含的技术有基于C语言的OpenGL ES等。同时这层还包含基于Object-C语言的动画引擎,使用动画的相关服务,应该就用到这层的服务。 Cocoa Touch层是最常用到的服务层,可以使用这层提供的框架来进行程序开发,UIKit框架是图形界面程序的框架,利用它可以创建类似的应用。开始学习 iPhone OS的编程技术是,应该先从这一层提供的框架开始学习,当掌握之后,在学习底层的接口和编程技术。 iPhone OS的事件处理模型是一个里程碑,引入了触摸事件,这里说的触摸事件和传统的触摸事件有很大不同。传统的触摸事件只支持一个点的事件,但是iPhone OS的触摸事件支持多点的触摸事件,所以事件的处理模型是一个非常大的技术创新。Objective-C及Xcode4 。 1、Objective-C的介绍及应用 Objective-C是非常“实际”的语言。它使用一个用C写成、很小的运行库,只会令应用程序的大小增加很小,和大部分OO系统使用极大的VM执行时间会取代了整个系统的运作相反。ObjC写成的程序通常不会比其原始码大很多。而其函式库(通常没附在软件发行本)亦和Smalltalk系统要使用极大的内存来开启一个窗口的情况相反。 Objective-C的最初版本并不支持垃圾回收。在当时这是争论的焦点之一,很多人考虑到Smalltalk回收时有漫长的“死亡时间”,令整个系统失去功用。Objective-C为避免此问题才不拥有这个功能。虽然某些第三方版本已加入这个功能(尤是GNUstep),?Apple在其Mac OS X?10.3中仍未引入这个功能。不过令人欣慰的是在Apple发布的xCode4中已经支持自动释放啦,我不敢冒昧地说那是垃圾回收,因为两者机制不同,在xCode4中的自动释放,也就是ARC Automatic Reference Counting 机制,是不需要用户手动去Release一个对象,而是在编译期间,编译器会自动帮你添加那些以前你经常写的[NSObject release]。 另一个问题是ObjC不包括命名空间机制 namespace mechanism 。取而代之的是程序设计师必须在其类别名称加上前缀,时常引致冲突。在2004年,在Cocoa编程环境中,所有Mac OS X类别和函式均有“NS”作为前缀,例如NSObject或NSButton来清楚分别它们属于Mac OS X核心;使用“NS”是由于这些类别的名称在NeXTSTEP开发时定下。 虽然Objective-C是C的母集,但它也不视C的基本型别为第一级的对象。 和C++不同,Objective-C不支援运算子多载(它不支持ad-hoc多型)。亦与C++不同,但和Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。Categories和protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如额外执行时间过重和二进制不兼容。 由于Obj-C使用动态运行时类型,而且所有的方法都是函数调用(有时甚至连系统调用(syscalls)也如此)

文档评论(0)

80019pp + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档