zoukankan      html  css  js  c++  java
  • 《iOS开发指南:从零基础到App Store上架(第2版)》

    《iOS开发指南:从零基础到App Store上架(第2版)》

    基本信息

    作者: 关东升   

    丛书名: 图灵原创

    出版社:人民邮电出版社

    ISBN:9787115348029

    上架时间:2014-3-5

    出版日期:2014 年3月

    开本:16开

    页码:1

    版次:1-1

    所属分类:计算机

     

    更多关于》》》《iOS开发指南:从零基础到App Store上架(第2版)》

     

    编辑推荐

        国内最新iOS 7开发详解,全面涵盖iOS 7新内容、新特性、新变化

      数百个项目案例+两个真实项目开发全过程

      涵盖iOS平台架构设计、测试驱动开发、性能优化、版本控制和程序调试等丰富内容

     

    内容简介

        书籍

        计算机书籍

      《ios开发指南:从零基础到app store上架(第2版)》采用全新的ios 7 api,详细介绍了最新的ios 7 开发相关的知识点。本书共分为4 个部分:第一部分为基础篇,介绍了ios 的一些基础知识;第二部分为网络篇,介绍了ios 网络开发相关的知识;第三部分为进阶篇,介绍了ios高级内容、商业思考等;第四部分为实战篇,从无到有地介绍了两个真实的ios 应用:mynotes 应用和2016 里约热内卢奥运会应用。书中包括了100 多个完整的案例项目源代码,大家可以到本书网站http://www.iosbook1.com 下载。

      《ios开发指南:从零基础到app store上架(第2版)》适合ios 开发人员阅读。

     

    媒体评论

      “本书是为广大iOS开发者编写的教程,上一版就得到了广大开发者的好评。书中不仅从易到难详细讲述了iOS开发的方方面面,而且专门针对iOS 7的新特性作了全面而详细的介绍。本书重点突出,知识点多是企业项目中常用的技术要点,且包含大量的实例代码和丰富的插图,可以帮助开发者很好地理解书中内容。因此,它不仅适合作为初级开发者的入门教程,而且也可作为高级开发者在闲暇之余翻阅的工具书。”

      ——CocoaChina社区

      “本书上一版自发行以来,受到了51CTO社区广大iOS开发者和爱好者的好评和认可。它介绍了iOS全新的设计理念,以及iOS 7开发中常用的新特性、新功能,不仅可以帮助iOS初学者迅速掌握iOS开发技能,而且可以帮助程序员系统全面地梳理知识,提高开发水平。在iOS开发的道路上,它定能助你一臂之力。”

      ——51CTO博客总编、51CTO学院高级产品运营经理曹亚莉

      “本书结合大量案例讲述了iOS应用开发技巧,无疑是一本值得初学者认真阅读的从入门到精通的教材。第2版在上一版的基础上增加了iOS 7的新技术,并突出了扁平化的设计理念。这本书将是你踏入iOS殿堂的黄金阶梯!”

      ——9Tech开发者社区

      “本书通俗易懂,全面覆盖了iOS 7的新特性及要点,书中的案例和演示均以iOS 7重新实现,详细讲解了从iOS 6升级到iOS 7后出现的问题及解决方法,可见作者用心良苦。在“iOS分层架构设计”等章节中,作者总结并分享了以往开发过程中的经验和心得,很值得借鉴。相信本书对广大iOS开发者会有很大的帮助。”

      ——智捷iOS课堂

     

    目录

    《ios开发指南:从零基础到app store上架(第2版)》

    第一部分  基  础  篇

    第1章 开篇综述  2

    1.1  ios概述  2

    1.1.1  ios介绍  2

    1.1.2  ios 7新特性  2

    1.2  开发环境及开发工具  3

    1.3  本书中的约定  4

    1.3.1  案例代码约定  5

    1.3.2  图示的约定  5

    第2章 第一个ios应用程序  7

    2.1  创建helloworld工程  7

    2.1.1  创建工程  7

    2.1.2  xcode中的ios工程模板  12

    2.1.3  应用剖析  13

    2.2  helloworld工程中故事板文件main.storyboard  16

    2.2.1  故事板的导航特点  16

    2.2.2  故事板中的scene和segue  17

    2.3  应用生命周期  17

    2.3.1  非运行状态——应用启动场景  19

    2.3.2  点击home键——应用退出场景  20

    2.3.3  挂起重新运行场景  21

    2.3.4  内存清除——应用终止场景  22

    2.4  视图生命周期  22

    2.4.1  视图生命周期与视图控制器关系  23

    2.4.2  ios ui状态保持和恢复  24

    2.5  设置产品属性  26

    2.5.1  xcode中的project和target  26

    2.5.2  设置常用的产品属性  28

    2.6  ios api简介  30

    2.6.1  api概述  30

    2.6.2  如何使用api帮助  32

    2.7  小结  34

    第3章 uiview与控件  35

    3.1  视图“始祖”——uiview  35

    3.1.1  uiview“家族”  35

    3.1.2  应用界面的构建层次  37

    3.1.3  视图分类  38

    3.2  标签控件和按钮控件  38

    3.2.1  标签控件  39

    3.2.2  按钮控件  39

    3.2.3  动作和输出口  41

    3.3  textfield控件和textview控件  43

    3.3.1  textfield控件  44

    3.3.2  textview控件  44

    3.3.3  键盘的打开和关闭  45

    3.3.4  关闭和打开键盘的通知  46

    3.3.5  键盘的种类  47

    3.4  开关控件、滑块控件和分段控件  48

    3.4.1  开关控件  49

    3.4.2  滑块控件  49

    3.4.3  分段控件  49

    3.5  网页控件webview  50

    3.5.1  webview介绍  50

    3.5.2  使用webview构建hybrid应用  53

    3.6  屏幕滚动控件scrollview  58

    3.6.1  scrollview属性的设置  58

    3.6.2  键盘与其他控件的协同  63

    3.7  等待相关的控件与进度条  65

    3.7.1  活动指示器activityindicatorview  66

    3.7.2  进度条progressview  66

    3.8  警告框和操作表  67

    3.8.1  警告框alertview  67

    3.8.2  操作表actionsheet  69

    3.9  工具栏和导航栏  70

    3.9.1  工具栏  70

    3.9.2  导航栏  73

    3.10  屏幕布局  77

    3.10.1  ipad、iphone和iphone 5屏幕布局  77

    3.10.2  绝对布局和相对布局  78

    3.10.3  使用autolayout布局  80

    3.10.4  旋转你的屏幕  82

    3.11  选择器  86

    3.11.1  日期选择器  86

    3.11.2  普通选择器  88

    3.11.3  数据源协议与委托协议  90

    3.12  集合视图  92

    3.12.1  集合视图介绍  92

    3.12.2  集合视图单元格  94

    3.12.3  数据源协议与委托协议  97

    3.13  小结  97

    第4章 表视图  98

    4.1  概述  98

    4.1.1  表视图的组成  98

    4.1.2  表视图的相关类  99

    4.1.3  表视图分类  100

    4.1.4  单元格的组成和样式  103

    4.1.5  数据源协议与委托协议  105

    4.2  简单表视图  106

    4.2.1  创建简单表视图  106

    4.2.2  自定义单元格  110

    4.2.3  添加搜索栏  114

    4.3  分节表视图  119

    4.3.1  添加索引  119

    4.3.2  分组与静态表  122

    4.4  修改单元格  126

    4.4.1  删除和插入单元格  126

    4.4.2  移动单元格  132

    4.5  表视图ui设计模式  134

    4.5.1  分页模式  134

    4.5.2  下拉刷新模式  134

    4.5.3  ios 7下拉刷新控件  135

    4.6  小结  137

    第5章 视图控制器与导航模式  138

    5.1  概述  138

    5.1.1  视图控制器的种类  138

    5.1.2  导航模式  138

    5.1.3  模态视图  139

    5.2  平铺导航  145

    5.2.1  应用场景  145

    5.2.2  基于分屏导航的实现  147

    5.2.3  基于分页导航的实现  150

    5.3  标签导航  156

    5.3.1  应用场景  157

    5.3.2  实现  157

    5.4  树形结构导航  159

    5.4.1  应用场景  160

    5.4.2  实现  161

    5.5  组合使用导航模式  165

    5.5.1  应用场景  166

    5.5.2  实现  166

    5.6  小结  173

    第6章 ios常用设计模式  174

    6.1  单例模式  174

    6.1.1  问题提出  174

    6.1.2  实现原理  174

    6.1.3  应用案例  175

    6.2  委托模式  177

    6.2.1  问题提出  177

    6.2.2  实现原理  178

    6.2.3  应用案例  181

    6.3  观察者模式  184

    6.3.1  问题提出  184

    6.3.2  实现原理  185

    6.3.3  通知机制和kvo机制  187

    6.4  mvc模式  193

    6.4.1  mvc模式概述  193

    6.4.2  cocoa touch中的mvc模式  194

    6.5  小结  196

    第7章 iphone与ipad应用开发的差异  197

    7.1  概述  197

    7.1.1  应用场景差异  197

    7.1.2  设计和开发需注意的问题  197

    7.1.3  构建自适应的iphone和ipad工程  200

    7.2  ipad专用api  202

    7.2.1  uipopovercontroller控制器  202

    7.2.2  uisplitviewcontroller控制器  205

    7.2.3  模态视图专用属性  211

    7.3  小结  215

    第8章 ios分层架构设计  216

    8.1  低耦合企业级系统架构设计  216

    8.2   ios分层架构设计  217

    8.2.1  基于同一工程的分层  217

    8.2.2  基于一个工作空间不同工程的分层  222

    8.3  小结  227

    第9章 ios 7中文字排版和渲染引擎——text kit  228

    9.1  text kit基础  228

    9.1.1  文字的排版和渲染  228

    9.1.2  text kit架构  228

    9.1.3  text kit中的核心类  229

    9.1.3  实例:凸版印刷效果  231

    9.2  文字图片混合排版  233

    9.3  动态字体  236

    9.4  小结  239

    第10章 应用程序设置  240

    10.1  概述  240

    10.1.1  设置  240

    10.1.2  配置  241

    10.2  应用程序设置包  243

    10.3  设置项目种类  244

    10.3.1  文本字段  247

    10.3.2  开关  249

    10.3.3  滑块  250

    10.3.4  值列表  252

    10.3.5  子界面  253

    10.4  读取设置  255

    10.5  小结  256

    第11章 国际化  257

    11.1  概述  257

    11.1.1  需要国际化的内容  257

    11.1.2  国际化目录结构  259

    11.2  文本信息国际化  260

    11.2.1  系统按钮和信息国际化  260

    11.2.2  应用名称国际化  261

    11.2.3  程序代码输出的静态文本国际化  263

    11.2.4  使用genstring工具  265

    11.3  xib和故事板文件国际化  266

    11.3.1  使用base国际化技术  266

    11.3.2  autolayout与国际化  268

    11.4  资源文件国际化  270

    11.4.1  图片资源文件国际化  270

    11.4.2  声音资源文件国际化  271

    11.5  小结  271

    第12章 数据持久化  272

    12.1  概述  272

    12.1.1  沙箱目录  272

    12.1.2  持久化方式  273

    12.2  属性列表  273

    12.3  对象归档  278

    12.4  使用sqlite数据库  282

    12.4.1  sqlite数据类型  283

    12.4.2  创建数据库  283

    12.4.3  查询数据  285

    12.4.4  修改数据  288

    12.5  core data  290

    12.5.1  orm  290

    12.5.2  core data堆栈  290

    12.5.3  建模和生成实体  294

    12.5.4  采用core data分层架构设计  297

    12.5.5  查询数据  298

    12.5.6  修改数据  300

    12.6  小结  301

    第13章 访问通讯录  302

    13.1  概述  303

    13.2  读取联系人信息  303

    13.2.1  查询联系人记录  304

    13.2.2  读取单值属性  306

    13.2.3  读取多值属性  308

    13.2.4  读取图片属性  310

    13.3  写入联系人信息  310

    13.3.1  创建联系人  312

    13.3.2  修改联系人  314

    13.3.3  删除联系人  315

    13.4  高级api  316

    13.4.1  选择联系人  316

    13.4.2  显示和修改联系人  319

    13.4.3  创建联系人  322

    13.5  小结  325

    第二部分  网  络  篇

    第14章 访问web service  328

    14.1  概述  328

    14.2  数据交换格式  328

    14.2.1  xml文档结构  330

    14.2.2  解析xml文档  331

    14.2.3  json文档结构  338

    14.2.4  json数据解码  339

    14.3  rest web service  341

    14.3.1  http和https协议  341

    14.3.2  同步get请求方法  342

    14.3.3  异步get请求方法  346

    14.3.4  post请求方式  347

    14.3.5  调用rest web service的插入、修改和删除方法  348

    14.4  使用轻量级网络请求框架mknetworkkit  352

    14.4.1  asihttprequest、afnetworking和mknetworkkit比较  353

    14.4.2  安装和配置mknetworkkit框架  353

    14.4.3  网络请求  354

    14.4.4  下载数据  356

    14.4.5  上传数据  358

    14.5  反馈网络信息改善用户体验  359

    14.5.1  使用下拉刷新控件改善用户体验  359

    14.5.2  使用等待指示器控件  362

    14.5.3  使用网络等待指示器  365

    14.6  小结  366

    第15章 定位服务与地图应用  367

    15.1  定位服务  367

    15.1.1  定位服务编程  368

    15.1.2  地理信息反编码  372

    15.1.3  地理信息编码查询  373

    15.1.4  关于定位服务的测试  375

    15.2  使用ios苹果地图  378

    15.2.1  显示地图  378

    15.2.2  添加标注  380

    15.2.3  跟踪用户位置变化  383

    15.3  使用程序外地图  384

    15.3.1  调用ios苹果地图  384

    15.3.2  调用谷歌web地图  387

    15.4  小结  388

    第三部分  进  阶  篇

    第16章 升级?  390

    16.1  从ios 6到ios 7的升级  390

    16.1.1  ios 7全新的扁平化设计  391

    16.1.2  屏幕适配问题  394

    16.1.3  ios 7状态栏隐藏  396

    16.1.4  ios 7状态栏样式设置  397

    16.2  从xcode 4到xcode 5的升级  399

    16.2.1  arc与mrc之争  399

    16.2.2  故事板与xib之争  402

    16.2.3  找回普通显示屏的模拟器  407

    16.2.4  找回老版本的interface builder  408

    16.2.5  使用资源目录管理图片  409

    16.3  从iphone 4到iphone 5的升级  412

    16.3.1  屏幕适配问题  413

    16.3.2  从32位到64位的升级  416

    16.4  小结  417

    第17章 ios中的商业模式  418

    17.1  收费策略  418

    17.1.1  ios如何赚钱  418

    17.1.2  避免定价策略误区  419

    17.1.3  免费软件的艺术  419

    17.1.4  在适当的时间、适当的地点植入广告  419

    17.1.5  尝试不同的盈利模式  419

    17.2  使用苹果iad广告  420

    17.2.1  横幅广告  420

    17.2.2  插页广告  425

    17.2.3  查看你的收入  430

    17.3  使用谷歌admob广告  432

    17.3.1  注册admob账号和管理应用  432

    17.3.2  下载谷歌admob ads sdk和示例代码  435

    17.3.3  添加admob横幅广告  437

    17.3.4  添加admob插页广告  442

    17.3.5  为广告提交用户和位置信息  445

    17.3.6  搜索广告  446

    17.3.7  查看你的收入  448

    17.4  应用内购买  449

    17.4.1  概述  449

    17.4.2  测试环境搭建  450

    17.4.3  在程序中实现应用内购买  455

    17.4.4  测试应用内购买  461

    17.5  小结  463

    第18章 找出程序中的bug——调试  464

    18.1  xcode调试工具  464

    18.1.1  定位编译错误  464

    18.1.2  查看和显示日志  465

    18.1.3  设置和查看断点  466

    18.1.4  调试工具栏  470

    18.1.5  输出窗口  471

    18.1.6  变量查看窗口  473

    18.1.7  查看线程  474

    18.2  日志与断言输出  475

    18.2.1  使用nslog函数  475

    18.2.2  使用nsassert宏  476

    18.2.3  移除nslog和nsassert  477

    18.3  lldb调试工具  479

    18.3.1  断点命令  480

    18.3.2  观察点命令  482

    18.3.3  查看变量和计算表达式命令  483

    18.4  异常堆栈报告分析  485

    18.4.1  跟踪异常堆栈  485

    18.4.2  分析堆栈报告  488

    18.5  在ios设备上调试  488

    18.5.1  创建开发者证书  489

    18.5.2  设备注册  493

    18.5.3  创建app id  495

    18.5.4  创建配置概要文件  497

    18.5.5  设备调试  501

    18.6  xcode设备管理工具  502

    18.6.1  管理设备配置概要文件  503

    18.6.2  查看设备上的应用程序  504

    18.6.3  设备控制台  505

    18.6.4  设备日志  505

    18.7  小结  506

    第19章 测试驱动下的ios应用开发  507

    19.1  测试驱动的软件开发概述  507

    19.1.1  测试驱动的软件开发流程  507

    19.1.2  测试驱动的软件开发案例  508

    19.1.3  ios 7单元测试框架  513

    19.2  使用xctest测试框架  513

    19.2.1  添加xctest到工程  514

    19.2.2  编写xctest测试方法  515

    19.2.3  运行测试程序  521

    19.2.4  分析测试报告  521

    19.3  ios单元测试最佳实践  523

    19.3.1  测试数据持久层  523

    19.3.2  测试业务逻辑层  527

    19.3.3  测试表示层  529

    19.4  小结  531

    第20章 让你的程序“飞”起来——性能优化  532

    20.1  内存优化  532

    20.1.1  内存泄漏问题的解决  532

    20.1.2  查找和解决僵尸对象  540

    20.1.3  autorelease的使用问题  543

    20.1.4  响应内存警告  543

    20.1.5  选择xib还是故事板  545

    20.2  优化资源文件  545

    20.2.1  图片文件优化  546

    20.2.2  音频文件优化  548

    20.3  延迟加载  549

    20.3.1  资源文件的延迟加载  549

    20.3.2  故事板和xib文件的延迟加载  553

    20.4  数据持久化的优化  555

    20.4.1  使用文件  555

    20.4.2  使用sqlite数据库  559

    20.4.3  使用core data  560

    20.5  可重用对象的使用  562

    20.5.1  表视图中的可重用对象  562

    20.5.2  集合视图中的可重用对象  564

    20.5.3  地图视图中的可重用对象  565

    20.6  并发处理与多核cpu  565

    20.6.1  主线程阻塞问题  566

    20.6.2  选择nsthread还是gcd  566

    20.7  编译参数  568

    20.8  小结  569

    第21章 管理好你的程序代码——代码版本控制  570

    21.1  概述  570

    21.1.1  版本控制历史  570

    21.1.2  基本概念  571

    21.2  git代码版本控制  571

    21.2.1  服务器搭建  571

    21.2.2  gitolite服务器管理  573

    21.2.3  git常用命令  575

    21.2.4  git分支  577

    21.2.5  git协同开发  581

    21.2.6  xcode 5中git的配置与使用  583

    21.3  github代码托管服务  590

    21.3.1  创建和配置github账号  590

    21.3.2  创建代码库  592

    21.3.3  派生代码库  595

    21.3.4  使用github协同开发  597

    21.3.5  管理组织  601

    21.4  小结  605

    第22章 把你的应用放到app store上  606

    22.1  收官  606

    22.1.1  在xcode 5下添加图标  606

    22.1.2  xcode 5添加启动界面  608

    22.1.3  调整identity和deployment info属性  611

    22.1.4  为发布进行编译  612

    22.1.5  应用打包  618

    22.2  发布流程  619

    22.2.1  创建应用及基本信息  620

    22.2.2  应用定价信息  621

    22.2.3  最后的信息输入  622

    22.2.4  上传应用  625

    22.3  审核不通过的常见原因  627

    22.4  小结  628

    第四部分  实  战  篇

    第23章 重构mynotes应用——ios网络通信中的设计模式与架构设计  630

    23.1  移动网络通信应用的分层架构设计  630

    23.2  基于委托模式实现  631

    23.2.1  网络通信与委托模式  631

    23.2.2  在异步网络通信中使用委托模式实现分层架构设计  631

    23.2.3  类图  632

    23.2.4  时序图  634

    23.2.5  数据持久层重构  637

    23.2.6  业务逻辑层的代码实现  640

    23.2.7  表示层的代码实现  642

    23.3  基于观察者模式的通知机制实现  646

    23.3.1  观察者模式的通知机制回顾  646

    23.3.2  异步网络通信中通知机制的分层架构设计  647

    23.3.3  类图  647

    23.3.4  时序图  648

    23.3.5  数据持久层的重构  651

    23.3.6  业务逻辑层的代码实现  653

    23.3.7  表示层的代码实现  653

    23.4  小结  658

    第24章 ios敏捷开发项目实战——2016里约热内卢奥运会应用开发及app store发布  659

    24.1  应用分析与设计  659

    24.1.1  应用概述  659

    24.1.2  需求分析  659

    24.1.3  原型设计  660

    24.1.4  数据库设计  660

    24.1.5  架构设计  662

    24.2  ios敏捷开发  662

    24.2.1  敏捷开发宣言  662

    24.2.2  ios适合敏捷开发吗  663

    24.2.3  ios敏捷开发最佳实践  663

    24.3  任务1:创建应用基本工作空间  665

    24.4  任务2:信息系统层与持久层开发  666

    24.4.1  迭代2.1:编写数据库ddl脚本  666

    24.4.2  迭代2.2:插入初始数据到数据库  667

    24.4.3  迭代2.3:编写实体类  667

    24.4.4  迭代2.4:dao类xctest单元测试  668

    24.4.5  迭代2.5:编写dao类  672

    24.4.6  迭代2.6:发布到github  676

    24.5  任务3:业务逻辑层开发  676

    24.5.1  迭代3.1:比赛项目业务逻辑类xctest单元测试  676

    24.5.2  迭代3.2:编写比赛项目业务逻辑类  677

    24.5.3  迭代3.3:比赛日程业务逻辑类xctest单元测试  678

    24.5.4  迭代3.4:编写比赛日程业务逻辑类  679

    24.5.5  迭代3.5:发布到github  681

    24.6  任务4:表示层开发  681

    24.6.1  迭代4.1:使用资源目录管理图片和图标资源  682

    24.6.2  迭代4.3:根据原型设计初步设计ipad故事板  683

    24.6.3  迭代4.3:根据原型设计初步设计iphone故事板  684

    24.6.4  迭代4.4:首页模块  684

    24.6.5  迭代4.5:比赛项目模块  685

    24.6.6  迭代4.6:比赛日程模块  690

    24.6.7  迭代4.7:倒计时模块表示层  692

    24.6.8  迭代4.8:关于我们模块表示层  694

    24.6.9  迭代4.9:发布到github  694

    24.7  任务5:收工  694

    24.7.1  迭代5.1:添加图标  695

    24.7.2  迭代5.2:设计和添加启动界面  695

    24.7.3  迭代5.3:植入谷歌admob横幅广告  695

    24.7.4  迭代5.4:性能测试与改善  696

    24.7.5  迭代5.5:发布到github  697

    24.7.6  迭代5.6:在app store上发布应用  697

    24.8  小结  699

     

    本图书信息来源:互动出版

     

  • 相关阅读:
    cocos2d翻牌效果实现
    ShareSDK
    cocos2diphone版本选择
    UITextView设置透明背景
    iOS常用第三方类库
    CCMenu布局
    macosx下安装mysql
    mac截图
    iPhone对OpenGL ES的支持
    cocos2d下action和线程
  • 原文地址:https://www.cnblogs.com/china-pub/p/3584879.html
Copyright © 2011-2022 走看看