搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
iOS 8应用开发从入门到精通
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302422884
  • 作      者:
    李梓萌编著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2016
收藏
编辑推荐
  iOS系统从诞生之日起到现在,在短短几年的时间内,凭借其硬件产品iPhone和iPad的良好用户体验,赢得了广大消费者用户和开发者用户的追捧。
  本书从搭建iOS开发环境的入门知识讲起,依次讲解了Objective-C语言基础、Swift语言基础、Cocoa Touch框架、Storyboarding(故事板)、基本控件的应用、视图处理、界面控制器的处理、实现多场景和弹出框、屏幕旋转处理、声音服务、定位处理、与互联网接轨、与硬件之间的操作、开发通用的项目程序、游戏开发、读写应用程序数据、HealthKit开发详解、HomeKit开发详解、WatchKit开发详解、多功能音乐盒系统。
  本书内容全面,几乎涵盖了iOS 8应用开发所需要的全部内容。全书内容言简意赅,讲解细致,特别适合初学者学习和消化,并可从清华大学出版社的网站下载书中的源代码。
  本书适合iOS初学者、iOS爱好者、iPhone开发人员、iPad开发人员学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
展开
内容介绍
  iOS系统从诞生之日起到现在,在短短几年的时间内,凭借其硬件产品iPhone和iPad的良好用户体验,赢得了广大消费者用户和开发者用户的追捧。
  本书从搭建iOS开发环境的入门知识讲起,依次讲解了Objective-C语言基础、Swift语言基础、CocoaTouch框架、Storyboarding(故事板)、基本控件的应用、视图处理、界面控制器的处理、实现多场景和弹出框、屏幕旋转处理、声音服务、定位处理、与互联网接轨、与硬件之间的操作、开发通用的项目程序、游戏开发、读写应用程序数据、HealthKit开发详解、HomeKit开发详解、WatchKit开发详解、多功能音乐盒系统。
  本书内容全面,几乎涵盖了iOS8应用开发所需要的全部内容。全书内容言简意赅,讲解细致,特别适合初学者学习和消化,并可从清华大学出版社的网站下载书中的源代码。
  本书适合iOS初学者、iOS爱好者、iPhone开发人员、iPad开发人员学习,也可以作为相关培训学校和大专院校相关专业的教学用书。
展开
精彩书摘
  第2章  Objective-C语言基础
  在最近几年中,因为苹果产品iPhone、iPad在销量方面取得了重大成功,使得苹果开发语言Objective-C从众多编程语言中脱颖而出,以非常规的速度在编程语言排行榜中迅速攀升,取得了骄人的战绩。
  在本章的内容中,将带领读者初步认识Objective-C这门神奇的编程语言,为步入本书后面知识的学习打下基础。
  2.1  Objective-C语言基础
  在过去的几年中,Objective-C的占有率连续攀升,截至2014年5月,成为仅次于C、Java之后的一门编程语言。
  本节将带领读者一起探寻Objective-C如此火爆的秘密。
  2.1.1  TIOBE编程语言社区排行榜
  在程序开发领域中,TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新。这份排行榜的排名是基于互联网上有经验的程序员、课程和第三方厂商的数量。排名使用著名的搜索引擎(如Google、MSN、雅虎)以及Wikipedia和YouTube进行计算。注意,这个排行榜只是反映某种编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。
  表2-1是截止到2014年5月TIOBE的统计数据。
  表2-1  编程语言排行榜(截止到2014年5月)
  2014年排名
  2013年排名
  语  言
  2012年占有率(%)
  与2011年相比(%)
  1
  1
  C
  17.631
  -0.23
  2
  2
  Java
  17.348
  -0.33
  3
  4
  Objective-C
  12.875
  +3.28
  4
  3
  C++
  6.137
  -3.58
  5
  5
  C#
  4.820
  -1.33
  从表中可以看出,与以前月份的统计数据相比,前三名的位置有所变动,例如Objective-C取代了C++的第三名位置。作为2011年还在十名开外的Objective-C来说,在短时间内取得如此骄人的战绩是十分可贵的。这主要归功于iPhone和iPad的持续成功,这两种设备上的程序主要都是由Objective-C实现的。
  2.1.2  Objective-C介绍
  Objective-C是苹果Mac OS X系统上开发的首选语言。Mac OS X技术来源于NextStep的OpenStep操作系统,而OpenStep的软件架构都是用Objective-C语言编写的。这样,Objective-C就理所当然地成为Mac OS X上的最佳语言。
  Objective-C诞生于1986年,Brad Cox在第一个纯面向对象语言Smalltalk的基础上写成了Objective-C语言。后来,Brad Cox创立了StepStone公司,专门负责Objective-C语言的推广。
  1988年,Steve Jobs的NextStep采用Objective-C作为开发语言。
  1992年,在GNU GCC编译器中包含了对Objective-C的支持。在这以后相当长的时间内,Objective-C语言得到了很多程序员的认可,并且他们很多人是编程界的鼻祖和大碗,例如Richard Stallman、Dennis Glating等人。
  Objective-C通常被写为ObjC、Objective C或Obj-C,是一门扩充了C语言的面向对象编程语言。
  Objective-C语言推出后,主要被用在如下两个使用OpenStep标准的平台上面:
  * Mac OS X。
  * GNUstep。
  除此而外,在NextStep和OpenStep中,Objective-C语言也是被作为基本语言来使用的。在GCC运作的系统中,可以实现Objective-C的编写和编译操作,因为GCC包含Objective-C的编译器。
  2.1.3  iOS选择Objective-C的原因
  iOS选择Objective-C作为开发语言,有许多方面的原因,具体来说,有如下4点。
  (1)    面向对象
  Objective-C语言是一门面向对象的语言,功能十分强大。在Cocoa框架中的很多功能,只能通过面向对象的技术来呈现,所以,Objective-C一开始就是为了满足面向对象的需求而设计的。
  (2)    融合性好
  从严格意义上讲,Objective-C语言是标准C语言的一个超集。当前使用的C程序无须重新开发,就可以使用Cocoa软件框架,开发者可以在Objective-C中使用C的所有特性。
  (3)    简单易用
  Objective-C是一种简洁的语言,它语法简单,易于学习。但是另一方面,因为易于混淆的术语以及抽象设计的重要性,对于初学者来说,可能学习面向对象编程的过程比较漫长。要想学好Objective-C这种结构良好的语言,需要付出很多汗水和精力。
  (4)    动态机制支持
  Objective-C与其他的基于标准C语言的面向对象语言相比,对动态的机制支持更为彻底。专业的编译器为运行环境保留了很多对象本身的数据信息,所以在编译某些程序时,可以将选择推迟到运行时来决定。正是基于此特性,使得基于Objective-C的程序非常灵活和强大。例如,Objective-C的动态机制提供了如下两个比普通面向对象语言更好的优点。
  * Objective-C语言支持开放式的动态绑定:这有助于交互式用户接口架构的简单化。例如,在Objective-C程序中发送消息时,不但无须考虑消息接收者的类,而且也无须考虑方法的名字。这样,可以允许用户在运行时再做出决定,也给开发人员带来了极大的设计自由。
  * Objective-C语言的动态机制成就了各种复杂的开发工具:运行环境提供了访问运行中程序数据的接口,所以使得开发工具监控Objective-C程序成为可能。
  2.1.4  Objective-C的优点和缺点
  Objective-C是一门非常“实际”的编程语言,它使用一个用C写成的很小的运行库,只会令应用程序的大小增加很小,这与大部分OO(面向对象)系统那样使用极大的VM(虚拟机)执行时间来取代整个系统的运作相反。Objective-C写成的程序通常很小。
  Objective-C的最初版本并不支持垃圾回收。在当时,这是人们争论的焦点之一,很多人考虑到Smalltalk回收会产生漫长的“死亡时间”,从而令整个系统失去功能。Objective-C为避免这个问题,所以不再拥有这个功能。虽然在某些第三方版本中已加入这个功能(尤是GNUstep),但是,Apple在其Mac OS X中仍未引入这个功能。不过令人欣慰的是,在Apple发布的Xcode 4中,开始支持自动释放,虽然不敢鲁莽地说那是垃圾回收,因为毕竟两者机制不同。在Xcode 4中的自动释放,也就是ARC(Automatic Reference Counting)机制,是不需要用户手动去Release(释放)一个对象,而是在编译期间,编译器会自动帮我们添加那些以前经常写的[NSObject release]。
  还有另外一个问题,Objective-C不包含命名空间机制,取而代之的是程序设计师必须为其类别名称加上前缀,这样经常会导致冲突。在2004年,在Cocoa编程环境中,所有Mac OS X类和函数均有NS作为前缀,例如NSObject或NSButton,来清楚地分辨它们属于Mac OS X核心;使用NS是由于这些类别的名称是在NextStep开发时定下的。
  虽然Objective-C是C语言的母集,但它也不视C语言的基本类型为第一级的对象。与C++不同,Objective-C不支持运算符重载。虽然与C++不同,但是与Java相同,Objective-C只容许对象继承一个类别(不设多重继承)。Categories和Protocols不但可以提供很多多重继承的好处,而且没有很多缺点,例如,额外执行时间过重和二进制不兼容。
  由于Objective-C使用动态运行时类型,而且所有的方法都是函数调用,有时甚至连系统调用syscalls也是如此,所以,很多常见的编译时性能优化方法都不能应用于Objective-C,例如内联函数、常数传播、交互式优化、纯量取代与聚集等。这使得Objective-C性能劣于类似的对象抽象语言,例如C++。不过Objective-C的拥护者认为,既然Objective-C运行时消耗较大,Objective-C本来就不应该应用于C++或Java常见的底层抽象。
  ……
展开
目录
第1章  iOS开发入门    1
第2章  Objective-C语言基础    21
第3章  Swift语言基础    51
第4章  Cocoa Touch框架    77
第5章  Storyboarding(故事板)    105
第6章  基本控件的应用    133
第7章  视图处理    191
第8章  界面控制器的处理    251
第9章  实现多场景和弹出框    293
第10章  屏幕旋转处理    307
第11章  声音服务    319
第12章  定位处理    371
第13章  与互联网接轨    393
第14章  与硬件之间的操作    415
第15章  开发通用的项目程序    435
第16章  游戏开发    457
第17章  读写应用程序的数据    481
第18章  HealthKit开发详解    509
第19章  HomeKit开发详解    529
第20章  WatchKit开发详解    555
第21章  多功能音乐盒系统    577
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证