搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
iOS开发:从零基础到精通
0.00     定价 ¥ 150.00
图书来源: 浙江图书馆(由JD配书)
此书还可采购25本,持证读者免费借回家
  • 配送范围:
    浙江省内
  • ISBN:
    9787302478898
  • 作      者:
    史昕,汤海波,闫珍
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2018-02-01
收藏
编辑推荐
  本书面向学习iOS开发的零基础读者。本书从实际开发的角度,提炼出所需要的iOS核心知识,让读者在短时间内有的放矢地掌握iOS开发的核心技能。为了提升读者的学习效率,本书配套提供由作者亲自录制的教学视频,针对每个章节的核心内容进行讲解,方便读者领会并掌握各个知识点。
  本书共包括5个部分,涵盖了开发语言、iOS专业知识、常用工具等各个方面。本书的内容是作者多年来从事iOS开发的经验提炼与总结,是一本既全面立体,又难度适中,且紧扣实践的书籍。


展开
内容介绍
  本书适合iOS开发零基础的读者阅读。全书包含六大部分,共24章,涵盖了针对iOS开发入门所需要掌握的核心内容,同时紧扣iOS开发的*新发展趋势,以Objective-C语言为基础,并引入了Swift语言以及ReactNative的介绍。通过本书的系统学习,能够满足一般软件公司对iOS开发工程师的岗位要求。第一部分:Objective-C语言基础。针对初学者介绍iOS开发使用*广泛、成熟度*高的Objective-C语言,简单扼要地介绍了在实际开发中*常使用的语法内容。第二部分:iOS开发入门。基于UIKit框架,介绍了iOS开发中需要优先掌握的基础类,包括基础UI控件、高级UI控件、控制器、手势等。第三部分:iOS开发进阶。着重介绍多线程、网络、存储、绘图、设计模式、设备、地图、推送、证书以及应用发布等进阶技术。第四部分:常用框架以及辅助工具介绍。介绍在实际开发中*常使用的辅助开发工具以及框架。第五部分:Swift语言基础。以Swift3.0为基础,介绍Swift语言的基本使用以及语法知识。第六部分:ReactNative基础。重点介绍了ReactNative的环境部署、基本概念以及常用框架的使用方法等内容。本书适合iOS开发新手、iOS程序员使用,也可以作为相关培训机构和大专院校教学用书。
展开
精彩书摘
  对象与方法
  3.1类
  3.1.1类的定义
  在Objective-C中,每个类的定义包括两个部分:接口(interface)和实现(implementation)。接口部
  分定义在.h文件中,包含类的声明、属性以及方法,主要作用是对外提供访问接口。实现部分定义在.m
  文件中,主要用于方法的功能实现。这种定义类的方法,好处在于将公共声明(接口)与代码实现分开,
  对外屏蔽了功能实现的细节,体现了面向对象的封装特性。
  1.
  类定义简介
  类定义是一种类型的对象的原型,其声明了每个对象都具有的属性(Property),同时还定义了同一
  类的所有对象都使用的一系列方法(Method)。
  编译器为每个类创建一个可访问的对象,称为类的对象(也称为工厂对象),类方法负责创建属于该
  类的新对象。类对象是类编译后的版本,由它创建的对象叫作类的实例,创建对象的过程也常称作实例化。
  在Objective-C中,一个类有接口文件和实现文件两部分组成,通常放在不同的文件里面。其中:
  .接口文件(.h后缀文件):主要完成类的具体声明。
  .实现文件(.m后缀文件):主要完成类的具体实现。
  当使用Xcode创建一个类时,Xcode会自动创建.h和.m两个文件。
  2.
  接口文件
  接口文件完成类的声明,向外界提供如何使用该类,主要体现了以下3类信息。
  .继承关系:通过继承关系可以了解该类是哪个类的子类,从而可以了解可供调用的父类的方法和
  属性。
  .属性Property。
  .方法Method。
  接口部分的定义以@interface开始,以@end结束。下面的示例代码,定义了一个游戏人物的Player
  类,这个类继承自NSObject,其中又定义了两个人物属性healthPoint与magicPoint,以及一个初始化类方
  法player,同时又提供了两个攻击方法,一个普通攻击normalAttack,一个魔法攻击magicAttack。
  #import
  @interfacePlayer:NSObject
  @property(nonatomic,assign)inthealthPoint;
  @property(nonatomic,assign)intmagicPoint;
  第3章
  39
  第3章类、对象与方法
  +(Player*)player;
  -(void)normalAttack;
  -(void)magicAttack;
  @end
  注意:在iOS开发中,属性和方法的命名一般推荐使用驼峰法命名规则。驼峰法命名规则就是当属性
  名或者方法名由多个单词构成时,第一个单词以小写字母开始,之后每个单词的首字母都用大写,驼峰法
  命名规则可以提升程序的可读性。
  3.
  实现文件
  类的实现部分以@implementation开始,并以@end结束。在类的实现部分,需要使用#import命令,
  引用类的接口部分。
  在类的实现部分(.m文件)中,需要对接口部分定义的方法进行实现。
  如下面实例,在类方法Player中,创建了Player对象,并且给healthPoint/magicPoint属性赋了初始值,
  并且定义了两个攻击方法,其中,当使用魔法攻击的时候,还会消耗自身的magicPoint值。
  .引用.h文件。
  #import"Player.h"
  .实现接口文件中定义的方法。
  @implementationPlayer
  +(Player*)player{
  //实例化对象
  Player*player=[[Playeralloc]init];
  //设置属性初始值
  player.healthPoint=100;
  player.magicPoint=100;
  //返回对象
  returnplayer;
  }
  -(void)normalAttack{
  //普通攻击
  ...
  }
  -(void)magicAttack{
  //魔法攻击,消耗自身魔法值
  self.magicPoint-=10;
  }
  @end
  iOS开发:从零基础到精通
  40
  3.1.2类的继承
  继承是面向对象编程的重要特性之一,类定义是累加的,每一个定义的类都是基于其父类,并且可以
  继承父类中定义的属性和方法。需要注意的是,NSObject类是所有类的父类。
  1.
  新增子类
  在Xcode中,依次单击File→New→File→CocoaTouchClass,即可新增类,如图3-1所示。在
  Subclassof中输入或者选择新增类的父类,如图3-2所示:新增的Magician类是Player类的子类,因为魔
  法师(Magician)也是属于游戏人物(Player)之一。
  ……
展开
目录
第1部分
Objective-C语言基础
第1章
环境搭建
3
1.1Xcode简介3
1.2创建App应用3
1.2.1下载安装Xcode3
1.2.2使用Xcode创建App.4
1.2.3Xcode开发界面介绍5
1.3程序调试.6
1.3.1App运行状态监控6
1.3.2UI界面分析6
1.3.3断点调试.7
1.4Xcode常用快捷键8
1.5常用插件.9
1.5.1苹果封锁第三方插件的原因.9
1.5.2源码编辑器扩展.9
1.6快捷代码段.10
1.6.1如何创建代码段.10
1.6.2常用代码段.11
第2章
数据类型与表达式
13
2.1数据类型与常量.13
2.1.1基本数据类型.13
2.1.2限定词.15
2.1.3id与instancetype17
2.2算术表达式.18
2.2.1基本运算符.18
2.2.2数据类型转换.20
2.3循环结构.22
2.3.1for循环22
2.3.2for-in循环.24
2.3.3while循环.26
目录
iOS开发:从零基础到精通
6
2.3.4break与continue28
2.4选择结构.29
2.4.1if语句29
2.4.2switch语句32
2.4.3条件运算符/三目运算符.35
2.5typedef语句36
第3章
类、对象与方法
38
3.1类.38
3.1.1类的定义.38
3.1.2类的继承.40
3.2属性.42
3.2.1属性的定义.42
3.2.2公有属性与私有属性44
3.2.3属性关键字.45
3.3方法.48
3.3.1方法的定义.48
3.3.2方法的调用.49
3.3.3方法的重写.52
3.4对象.54
3.4.1创建对象.54
3.4.2对象操作.57
3.5变量.60
3.5.1局部变量.60
3.5.2全局变量.61
3.5.3静态变量.64
3.5.4const关键字.66
第4章
Foundation框架
.69
4.1Foundation框架简介.69
4.2字符串类.69
4.2.1不可变字符串NSString69
4.2.2可变字符串NSMutableString.74
4.3数组类.76
4.3.1不可变数组NSArray.76
4.3.2可变数组NSMutableArray.79
4.4字典类.81
4.4.1不可变字典NSDictionary.81
4.4.2可变字典NSMutableDictionary84
4.5NSNumber类86
7
目录
4.6NSDate类.88
4.7NSFileManager类92
4.7.1文件操作.92
4.7.2目录操作.96
4.7.3枚举目录中的内容98
4.7.4文件的读取与写入100
4.8NSURL类.102
4.9NSBundle类.103
第5章
Objective-C语言特性
.107
5.1代码块.107
5.1.1Block简介.107
5.1.2Block的参数与返回值109
5.1.3操作Block外部的变量.112
5.1.4Block回调.114
5.2分类.116
5.3协议.118
5.3.1协议简介.118
5.3.2代理.119
5.4KVC.120
5.4.1使用KVC赋值取值120
5.4.2字典转模型122
5.4.3修改readonly的属性以及私有属性123
5.5KVO125
第6章
Objective-C进阶
128
6.1对象复制.128
6.1.1浅复制与深复制128
6.1.2可变对象复制与不可变对象复制129
6.1.3自定义对象复制135
6.2内存管理.137
6.3预编译指令.139
6.3.1宏定义.139
6.3.2#include、#import与@class142
6.3.3条件编译.143
6.4NSLog()函数145
6.4.1NSLog()函数基本使用.145
6.4.2定制输入日志的格式146
6.5结构.148
6.5.1结构的定义与基本使用148
iOS开发:从零基础到精通
8
6.5.2结构的嵌套150
第2部分
iOS开发基础
第7章
基础UI控件
.155
7.1UIKit框架.155
7.2视图UIView.156
7.2.1UIView简介.156
7.2.2视图UIView的外观159
7.2.3视图UIView的形变162
7.2.4视图UIView的层次关系163
7.2.5视图UIView的动画166
7.2.6响应用户交互事件167
7.2.7内容模式contentMode170
7.2.8图片拉伸.172
7.2.9使用代码创建自定义UIView.175
7.2.10使用XIB创建自定义UIView177
7.2.11控件改变坐标系(convertRect:)180
7.3图片控件UIImageView181
7.3.1基本使用.181
7.3.2常用操作.183
7.3.3帧动画功能185
7.4按钮控件UIButton.186
7.4.1基本使用.186
7.4.2按钮的创建188
7.4.3调整图标与标题的位置190
7.5文本控件UILabel.192
7.5.1UILabel简介192
7.5.2常用的UILabel使用场景.194
7.6提示框控件.195
7.7文本输入框UITextField198
7.7.1UITextField的基本属性198
7.7.2UITextField的代理方法简介201
7.7.3UITextField的代理方法实例之键盘回收203
7.7.4UITextField的代理方法实例之字数限制205
第8章
高级UI控件
.207
8.1滚动视图UIScrollView.207
8.1.1UIScrollView基本使用.207
8.1.2UIScrollView常用代理方法的实现.209
9
目录
8.1.3视图的缩放功能212
8.2表视图UITableView214
8.2.1UITableView基本介绍214
8.2.2UITableView的数据源方法217
8.2.3了解单元格UITableViewCell.219
8.2.4UITableView创建示例220
8.2.5UITableView代理方法之点击单元格222
8.2.6UITableView代理方法之编辑单元格224
8.2.7UITableViewCell性能优化.227
8.2.8分段Section.228
8.2.9分段Section实现示例231
8.2.10自定义Cell.235
8.2.11Cell高度的设置.238
8.2.12动态调整Cell高度(self-sizing).238
8.2.13动态调整Cell高度(代码)
240
8.2.14UITableView+FDTemplateLayoutCell计算Cell高度.244
8.2.15改变Cell位置247
8.2.16UITableView的Header和Footer.247
8.2.17去除多余的单元格分割线248
8.3集合视图UICollectionView249
8.3.1UICollectionView简介249
8.3.2UICollectionView数据源协议DataSource252
8.3.3最简单的集合视图实现253
8.3.4UICollectionView代理协议方法简介255
8.3.5UICollectionView代理方法实例256
8.3.6UICollectionViewFlowLayout简介257
8.3.7UICollectionViewFlowLayout使用实例259
8.3.8UICollectionViewDelegateFlowLayout类的代理方法实现262
8.3.9自定义Cell.265
8.4手势UIGestureRecognizer267
8.4.1UIGestureRecognizer简介267
8.4.2点击手势UITapGestureRecognizer269
8.4.3捏合与旋转手势UIPinchGestureRecognizer.270
8.4.4滑动手势UISwipeGestureRecognizer273
8.4.5拖动手势UIPanGestureRecognizer275
8.4.6长按手势UILongPressGestureRecognizer276
第9章
控制器
278
9.1控制器UIViewController278
9.1.1控制器简介以及创建控制器278
iOS开发:从零基础到精通
10
9.1.2使用XIB以及Storyboard创建控制器279
9.1.3控制器的生命周期283
9.1.4使用Storyboard切换控制器285
9.1.5使用代码切换控制器287
9.1.6控制器嵌套288
9.2导航控制器UINavigationController.291
9.2.1导航控制器简介291
9.2.2控制器跳转295
9.2.3子控制器的管理295
9.2.4UINavigationBar296
9.2.5barStyle属性297
9.2.6barTintColor与tintColor.298
9.2.7导航栏设置背景图片299
9.2.8UINavigationItem.300
9.2.9UINavigationItem定制示例302
9.2.10UINavigationItem显示原始图片样式304
9.2.11UINavigationController的代理方法.304
9.2.12顺传数据.305
9.2.13使用代理逆传数据307
9.2.14使用通知逆传数据309
9.2.15使Block逆传数据.310
9.2.16工具栏toolBar.311
9.3UITabBarController.313
9.3.1UITabBarController的常用属性和方法.313
9.3.2UITabBar的常用属性和方法.314
9.3.3UITabBarItem的常用属性和方法315
9.3.4微信TabBar实现.316
9.3.5UITabBarController的代理协议.318
9.4UIWindow、UIView与UIViewController关系.319
9.4.1概念简介.319
9.4.2关系描述.320
第10章
其他UI控件
.322
10.1WKWebView.322
10.1.1WKWebView简介.322
10.1.2WKWebView的基本使用——加载网页.324
10.1.3网页浏览控制325
10.1.4加载本地文件328
10.1.5WKWebView代理协议之WKNavigationDelegate.330
10.2UITextView.330
11
目录
10.2.1UITextView的基本使用330
10.2.2UITextView的代理方法332
10.3UIPageControl.333
10.3.1UIPageControl介绍.333
10.3.2UIPageControl实际应用.334
10.4UIPickerView338
10.4.1UIPickerView简介338
10.4.2UIPickerView的基本使用340
10.4.3相互依赖的多列选择器342
10.5UISilder.345
10.5.1UISlider基本介绍.345
10.5.2UISlider实例.347
10.6UIDatePicker.349
10.6.1UIDatePicker基本介绍.349
10.6.2UIDatePicker基本使用.349
10.7UISegmentedControl351
10.7.1UISegmentedControl简介.351
10.7.2UISegmentedControl实例.352
第3部分
iOS开发进阶
第11章
多线程
359
11.1线程基础知识.359
11.2GCD.362
11.2.1GCD基本概念介绍.362
11.2.2队列与任务组合363
11.2.3线程间通信369
11.2.4队列组dispatchgroup371
11.2.5延迟执行操作373
11.3NSOperation374
11.3.1NSOperation基本使用374
11.3.2线程间通信379
11.3.3任务间的执行依赖380
第12章
网络
.382
12.1网络开发基本概念介绍382
12.2常用网络协议之HTTP.383
12.3网络请求之GET、POST请求384
12.4AFNetworking框架介绍.385
12.5聚合数据API简介387
iOS开发:从零基础到精通
12
12.6GET请求与POST请求使用示例.389
12.7JSON和XML简单介绍.391
第13章
数据持久化
.394
13.1沙盒.394
13.1.1沙盒基础.394
13.1.2在Mac上查看沙盒目录.396
13.2Plist文件.397
13.2.1Plist简介.397
13.2.2Plist文件的读取399
13.2.3Plist文件的写入400
13.2.4操作实例.402
13.3偏好设置NSUserDefaults.406
13.3.1NSUserDefaults简介.406
13.3.2读写示例.407
13.4归档.409
13.4.1基本使用.409
13.4.2单个对象归档/解档.410
13.4.3自定义对象归档/解档.412
13.4.4归档多个自定义对象416
13.4.5子类对象的归档419
13.4.6归档多个不同类型的对象422
13.5SQLite.424
13.5.1数据库的操作424
13.5.2表的操作.427
13.5.3数据记录的操作430
13.6FMDB433
13.6.1基本介绍.433
13.6.2更新操作与查询操作436
13.6.3线程安全.438
13.7CoreData.439
13.7.1概念简介.439
13.7.2使用示例.440
13.8Realm.445
13.8.1Realm基本介绍.445
13.8.2Realm的安装.449
13.8.3常用属性与方法451
13.8.4Realm使用示例.453
13
目录
第14章
绘图和动画
.457
14.1核心绘画.457
14.1.1核心绘画的基本概念457
14.1.2贝塞尔路径458
14.1.3绘图方法和步骤460
14.1.4常见图形的绘制方法461
14.2UIImage绘图应用.464
14.2.1绘制图片.464
14.2.2添加水印.467
14.2.3裁剪圆形图片470
14.2.4截屏.473
14.3CALayer474
14.3.1CALayer简介474
14.3.2iOS开发中的坐标系.477
14.3.3动画属性.481
14.4核心动画.482
14.4.1核心动画简介482
14.4.2动画的实现步骤484
14.4.3CAPropertyAnimiation属性动画485
14.4.4CABasicAnimiation基本动画.486
14.4.5CAKeyframeAnimation关键帧动画.487
14.4.6CASpringAnimation弹簧动画489
14.4.7CAAnimationGroup动画组490
14.4.8CATransition转场动画492
第15章
设计模式
495
15.1iOS下的MVC设计模式495
15.2单例模式.497
15.3iOS下的MVVM设计模式499

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

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

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