搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
iOS高级编程
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787302382256
  • 作      者:
    (法)Peter van de Put著
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2014
收藏
编辑推荐

  《移动开发经典丛书:iOS 高级编程》主要内容:
  ·讲解如何利用动作视图和警告视图,与应用的用户进行交互
  ·为添加多媒体和包含本地化技巧提供小提示
  ·演示如何使用可用的不同框架来播放和录制音频与视频
  ·覆盖创建通知,发送邮件,请求访问权限,以及为你的应用整合Facebook和Twitter
  ·讨论如何实现用量分析和从应用获利
  ·显示如何使用iTunesConnect发布应用,并且在AppStore上分发

展开
作者简介

  范德普特(Peter van de Put),YourDeveloper公司的CEO(Chief Executive Officer,首席执行官)兼首席开发者。这家公司总部位于法国,是一家全球性的软件开发公司。他从1980年开始开发软件,并且为一些大公司交付高端软件的解决方案,例如像富士胶片公司(Fuji Photo Film),壳牌公司(Shell),联合利华公司(Unilever),普利斯通公司(Bridgestone),阿尔卡特(Alcate),理光公司(Ricoh)及其他许多知名公司。2006年,他创立了一家软件公司,专注于开发iOS应用和后台软件解决方案,并为全球客户开发出各种应用,例如银行、政府机构,电信和公用事业部门。伴随着他个人的软件开发事业的发展,他也先后培训了数以百计的开发者并联合创立了几家服务公司,并担任这些公司的项目经理和商业顾问。通过掌控和管理顾问公司,他已经掌握了这些项目的各个方面, 从计划到设计,再到部署及维护。
  而且,作为一位经验丰富的导师,他也可以提供给世界各国的iOS开发人员培训的课程。

展开
内容介绍

  向下一代iOS应用开发前进,你准备好了吗。
  伴随着应用的下载量超过5百万,而且这一数字仍在增长,应用开发可以说是获利颇丰,但是你必须能够脱颖而出。为此,你的应用需要集成高级功能。
  通过利用可用的iOS框架,使用现代的Objective-C编程规则的方式,《移动开发经典丛书:iOS 高级编程》将逐步引导你创建高级iOS应用。贯穿全部章节,你将发现70个贴合实际的示例程序,你可以下载这些示例并以此为起点。使用本指南,你将能够创建最前沿的应用,并为发布到App Store做好准备。

展开
精彩书摘

  2.1理解UITableView

  UITableView直接继承于UIScrollView类,从而给它带来直向(译者注:横向和纵向)滚动的能力。当想要使用UITableView时,必须首先创建UITableView类的实例,将它指向UIView控件而使其可见,并且建立一个datasource对象和一个负责与UITableView进行交互的delegate对象。

  2.1.1datasource和delegate

  每一个UITableView都需要datasource和delegate这两个对象。datasource对象为UITableView提供数据。通常,datasource对象使用NSArray类或者NSDictionary类在内部存储数据,并且根据需要将数据提供给表视图。delegate对象必须实现UITableViewDelegate和UITableViewDataSource这两个协议。

  UITableViewDelegate协议定义了几个方法,delegate对象需要实现其中至少三个方法。

  delegate对象必须实现的方法有:

  ●tableview:numberOfRowsInSection:

  ●numberOfSectionsInTableView:

  ●tableview:cellForRowAtIndexPath:

  启动Xcode开发环境,使用SingleViewApplicationProject模板创建新项目,并使用如图2-1中所示的配置将其命名为PlainTable。

  图2-1

  使用InterfaceBuilder工具打开YDViewController.xib文件,并将一个UITableView控件添加到该窗口中。使用AssistantEditor工具为这个UITableView控件创建一个属性。也需要设置ReferencingOutlets一栏中的datasource和delegate指向UITableView对象。确保YDViewController.xib文件看起来如图2-2中所示。

  打开YDViewController.h文件,创建名为rowData的NSMutableArray对象充当datasource,如代码清单2-1中所示。

  图2-2

  代码清单2-1Chapter2/PlainTable/YDViewController.h

  #import<UIKit/UIKit.h>

  @interfaceYDViewController:UIViewController

  @property(weak,nonatomic)IBOutletUITableView*mTableView;

  @property(nonatomic,strong)NSMutableArray*rowData;

  @end

  打开YDViewController.m文件,实现如代码清单2-2中所示的代码,关于这段代码,会在代码清单后详细说明。

  代码清单2-2Chapter2/PlainTable/YDViewController.m

  #import“YDViewController.h”

  @interfaceYDViewController()

  @end

  @implementationYDViewController

  -(void)viewDidLoad

  {

  [superviewDidLoad];

  //Doanyadditionalsetupafterloadingtheview,typicallyfromanib.

  [selfloadData];

  }

  -(void)loadData

  {

  if(self.rowData!=nil)

  {

  [self.rowDataremoveAllObjects];

  self.rowData=nil;

  }

  self.rowData=[[NSMutableArrayalloc]init];

  for(inti=0;i<100;i++)

  {

  [self.rowDataaddObject:[NSStringstringWithFormat:@“Row:%i”,i]];

  }

  //nowmydatasourceifpopulatedlet‘sreloadthetableview

  [self.mTableViewreloadData];

  }

  #pragmamarkUITableViewdelegate

  -(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView{

  return1;

  }

  -(NSInteger)tableView:(UITableView*)tableView

  numberOfRowsInSection:(NSInteger)section{

  return[self.rowDatacount];

  }

  -(UITableViewCell*)tableView:(UITableView*)tableView

  cellForRowAtIndexPath:(NSIndexPath*)indexPath{

  staticNSString*CellIdentifier=@“Cell”;

  UITableViewCell*cell=(UITableViewCell*)[tableView

  dequeueReusableCellWithIdentifier:CellIdentifier];

  if(cell==nil){

  cell=[[UITableViewCellalloc]initWithStyle:UITableViewCellStyleDefault

  reuseIdentifier:CellIdentifier];

  }

  cell.selectionStyle=UITableViewCellSelectionStyleNone;

  cell.textLabel.text=[self.rowDataobjectAtIndex:indexPath.row];

  returncell;

  }

  -(void)tableView:(UITableView*)tableViewdidSelectRowAtIndexPath:

  (NSIndexPath*)indexPath

  {

  [tableViewdeselectRowAtIndexPath:indexPathanimated:YES];

  }

  -(void)didReceiveMemoryWarning

  {

  [superdidReceiveMemoryWarning];

  //Disposeofanyresourcesthatcanberecreated.

  }

  @end

  下面对这段代码进行分解,向你解释代码中各方法的作用。

  在viewDidLoad方法中,调用了本地方法loadData,该方法创建了一个带有100个记录的NSMutableArray对象,并将reloadData消息发送给self.mTableView对象。

  reloadData方法迫使mTableView对象通过调用delegate方法重新加载数据,并更新用户界面。

  在#pragmamarkUITableViewdelegate标记语句之后,需要实现表视图运行所必须的delegate对象的最小方法集合。

  调用numberOfSectionsInTableView:这个delegate方法来决定UITableView控件的section的数量。如果使用UITableViewStylePlain风格,UITableView控件的section数通常是1。后面将会学习到带有下钻功能的例子,如果使用例子中那种风格的section,则需要返回实际的section的数量。


展开
目录

第Ⅰ部分 开发高级UI

第1章 创建Personal Library

1.1 创建Personal Library

1.1.1 项目基础知识

1.1.2 启动新项目

1.1.3 配置项目

1.1.4 定义常量

1.1.5 使用配置文件

1.1.6 导入头文件

1.2 注册——登录

1.2.1 创建注册逻辑

1.2.2 初始化数据

1.2.3 初始化应用的默认设置

1.2.4 创建登录逻辑

1.2.5 保护密码的安全

1.2.6 在keychain中存储密码

1.3 崩溃管理

1.3.1 理解崩溃

1.3.2 实现崩溃处理程序

1.4 本章小结

第2章 Tableview进阶指南

2.1 理解UITableView

2.1.1 datasource和delegate

2.1.2 滚动

2.2 构建聊天视图控制器

2.2.1 构建datasource

2.2.2 构建聊天数据对象

2.2.3 构建定制的UITableView控件

2.2.4 灵活的单元格高度

2.2.5 开发定制的单元格

2.2.6 创建聊天用户对象

2.2.7 融会贯通

2.3 UITableView的下拉功能

2.3.1 实现UISearchbar

2.3.2 添加字母表索引

2.4 本章小结

第3章 Map Kit框架

3.1 模拟iOS设备的位置移动

3.1.1 为何需要一个GPS模拟器

3.1.2 创建模拟器

3.1.3 使用Google Maps创建GPS路线文件

3.1.4 实现YDLocation-Simulator类

3.2 使用标记

3.2.1 创建定制的标记

3.2.2 响应标记的批注

3.2.3 标记群集

3.3 本章小结

第4章 Action View和Alert概述

4.1 请求用户输入

4.2 使用多个选项创建UIActionSheet

4.3 呈现UIActionSheet

4.3.1 使用showInView方法来呈现

4.3.2 使用showFromTabBar方法来呈现

4.3.3 使用showFromBarButtonItem方法来呈现

4.3.4 使用showFromRect方法来呈现

4.3.5 使用showFromToolbar方法来呈现

4.3.6 用户输入的响应

4.3.7 处理用户选项

4.3.8 扩展UIAlertView

4.3.9 在UIAlertView上添加UITextField

4.4 本章小结


第5章 国际化:为全世界构建应用

第6章 多媒体的使用

第Ⅱ部分 网络和数据处理

第7章 使用Web服务和解析

第8章 使用FTP

第9章 实现Core Data

第III部分 集成应用

第10章 通知

第11章 发送电子邮件、SMS和拨打电话

第12章 了解Address Book

第13章 事件编程

第14章 与社交媒体集成

第Ⅳ部分 将应用运用到生产环境中

第15章 分析应用

第16章 从应用中获利

第17章 了解iTunes Connect

第18章 构建与发布

附录A 音频代码

附录B 图片尺寸


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

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

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