标题：30天精通iPhone手机编程
基本信息
作者： 陆颖  30天精通iPhone手机编程出版社：清华大学出版社
ISBN：9787302250081
上架时间：2011-4-22
出版日期：2011 年4月
开本：16开
页码：1
版次：1-1
内容简介
《30天精通iphone手机编程》通过在30天中制作基于iphone sdk的29个精选的应用程序案例，系统、全面地介绍了object-c编程语言、xcode和interface builder开发工具，如各种iphone应用程序项目模板的开发流程/原理和控件、实例、框架以及object-c编程的基本知识，所有这些包含在覆盖面广、紧密联系的每一个章节之中。各个章节都提供应用程序的详细构建步骤，包括应用程序的输出和代码的分析。在每章结束前都提供一个举一反三的练习，以帮助读者加深理解所学的内容和评估学习的进展程度。
《30天精通iphone手机编程》分为三个部分，详细地讲解了iphone sdk中的每一个模板，从基础知识到面向对象的技术，应有尽有。第一部分从第1天至第17天，深入介绍控件的基本特性，使用view-based application项目模板开发简单的应用程序，其中包括标签、按钮、文本框、网页视图、开关、提示框、页面控制等控件的交互运用，以及如何使用navigation-based application项目模板开发表格视图应用程序；第二部分从第18天至第22天，介绍在应用程序中如何灵活播放声音，以及如何使用tab bar application项目模板开发多种媒体切换播放，其中包括网页、音乐和视频媒体；第三部分从第23天至第30天，介绍iphone os的高级特性。使用windows-based application项目模板添加视图动画对象，并且使用utility application项目模板开发结合声音播放和交互操作的动态应用程序。
《30天精通iphone手机编程》可作为没有任何编程经验的初学者学习iphone sdk的教材，在30天中由浅入深地学习每一个案例及所使用的控件和代码，使读者通过实践能逐步进入iphone sdk软件开发行列。
目录
《30天精通iphone手机编程》
第1天  mac os和iphone sdk简介        1
1.1  iphone sdk 4和xcode的使用与安装        2
1.2  xcode使用简介        3
1.2.1  创建iphone os项目        4
1.2.2  项目程序模板简介        5
1.2.3  项目开发界面        6
1.2.4  项目工具栏简介        7
1.2.5  显示开发代码行数        9
1.2.6  以_prefix.pch为后缀的文件对象        9
1.2.7  main.m入口衔接程序文件        10
1.3  interface builder使用简介        11
1.3.1  关于nib和xib文件        11
1.3.2  图形开发环境概述        12
1.4  simulator使用简介        15
1.4.1  在iphone sdk 4环境下运行sdk 2或sdk 3的应用程序        16
1.5  小结和练习        17
第2天  第一个程序“hello world”        19
2.1  view-based application的初次应用        19
2.2  appdelegate class文件简介        21
.2.2.1  uikit框架的作用        22
2.2.2  appdelegate.h        23
2.2.3  appdelegate.m        24
2.3  视图控制器文件        26
2.3.1  viewcontroller.h        26
2.3.2  viewcontroller.m        27
2.3.3  对象属性中的nonatomic和retain        28
2.4  viewcontroller.xib文件引导interface builder        29
2.4.1  设置视图界面的背景颜色        30
2.4.2  添加label到视图中        30
2.5  程序的运行和保存        33
2.6  添加iphone应用程序图标        33
2.7  小结和练习        36
第3天  打开网站url连接        37
3.1  view-based application的网页连接项目        37
3.1.1  构建按钮方法打开url数据        38
3.1.2  文字格式的转换nsstringstringwithformat        39
3.1.3  网站连接的内容nsurl        39
3.1.4  打开网站的连接uiapplication sharedapplication        40
3.1.5  foundation框架的作用        40
3.2  建立按钮操作方法视图控制器        42
3.3  使用interface builder构建按钮控件        43
3.3.1  按钮round rect button特性的文字输入        45
3.3.2  按钮round rect button的大小和位置设置        46
3.3.3  按钮round rect button的连接设置        46
3.4  小结和练习        47
第4天  设置文件setting bundle        49
4.1  在view-based application中的自定义设置        50
4.1.1  把setting bundle加入程序        50
4.1.2  root.plist文件的内容添加        51
4.1.3  使用nsuserdefaults获取自定义数据        53
4.2  获取自定义设置数据视图控制器        54
4.2.1  建立uilabel对象        54
4.2.2  定义uilabel对象的属性值        55
4.3  使用interface builder构建标签控件        57
4.3.1  标签label大小和位置的设置        57
4.3.2  标签label的文字显示特性设置        58
4.3.3  标签label与file’s owner的连接        60
4.3.4  虚拟iphone系统的simulator设置        61
4.4  小结和练习        62
第5天  文字的长度        65
5.1  view-based application的控件交互项目        65
5.1.1  控件属性值中的变量        66
5.1.2  条件假定语句if和else        67
5.2  统计文字长度的视图控制器        67
5.2.1  建立uitextfield、uilabel对象和ibaction        67
5.2.2  定义交互控件属性值的按钮操作方法        68
5.3  使用interface builder构建交互控件        70
5.3.1  添加交互控件和特性设置        70
5.3.2  交互控件的大小和位置设置        73
5.3.3  交互控件与file’s owner的连接        74
5.4  小结和练习        77
第6天  移动网站导航        79
6.1  view-based application的打开网站项目        79
6.1.1  向网站发送一个指定内容要求nsurlrequest        80
6.1.2  字符串的格式转换nsasciistringencoding        81
6.2  显示网站内容的交互方法        81
6.2.1  建立uiwebview对象和ibaction方法        81
6.2.2  定义uiwebview对象属性值的ibaction的操作方法        82
6.3  使用interface builder构建显示网站内容        83
6.3.1  添加导航控件和特性设置        83
6.3.2  导航控件的大小和位置设置        86
6.3.3  导航控件的连接设置        87
6.4  小结和练习        89
第7天  长度单位换算器        91
7.1  view-based application的文本框交互项目        91
7.1.1  捕获屏幕触摸事件uiview(touch)        92
7.2  单位换算的交互方法        93
7.2.1  建立多个uitextfield对象和ibaction方法        93
7.2.2  定义交互uitextfield对象属性值的操作方法        94
7.3  使用interface builder构建换算器控件        97
7.3.1  添加换算器控件和特性设置        97
7.3.2  换算器控件的大小和位置设置        101
7.3.3  换算器控件的连接设置        105
7.4  小结和练习        109
第8天  分歧解决器        111
8.1  view-based application的事件数值交互项目        111
8.1.1  条件语句switch与case        112
8.2  算法机率交互方法        113
8.2.1  建立uilabel和多个ibaction方法        113
8.2.2  定义交互label的属性值的操作方法        114
8.3  在interface builder中构建分歧解决器控件        118
8.3.1  添加分歧解决器控件和特性设置        118
8.3.2  分歧解决器控件的大小和位置设置        122
8.3.3  分歧解决器控件的连接设置        125
8.4  小结和练习        129
第9天  密码生成器        131
9.1  view-based application的开关交互项目        131
9.1.1  宏定义#define        132
9.1.2  随机数random和srandom        132
9.1.3  逻辑对象bool        133
9.1.4  循环语句for loop        133
9.1.5  字符串中字符的位置nsrange        133
9.1.6  整数数据类型定义nsinteger        133
9.1.7  字符串的范围nsstring stingwithrange        134
9.2  随机数交互方法        134
9.2.1  建立uiswitch、uitextfield对象和ibaction方法        134
9.2.2  定义交互switch与textfield属性值的操作方法        135
9.3  在interface builder中构建密码生成器控件        139
9.3.1  添加密码生成器控件和特性设置        139
9.3.2  密码生成器控件的大小和位置设置        145
9.3.3  密码生成器控件的连接设置        151
9.4  小结和练习        156
第10天  迷你秒表        157
10.1  view-based application的时间变量交互项目        157
10.1.1  定时器nstimer        158
10.2  时间变量视图控制器        159
10.2.1  建立nstimer、uilabel对象和ibaction方法        159
10.2.2  定义交互nstimer与uilabel属性值的操作方法        160
10.3  在interface builder中构建秒计时控件        162
10.3.1  添加秒计时控件和特性设置        162
10.3.2  秒计时控件的大小和位置设置        166
10.3.3  秒计时控件的连接设置        168
10.4  小结和练习        171
第11天  点数器        173
11.1  view-based application的算术方法项目        173
11.1.1  条件语句if结合运算        174
11.2  算术的视图控制器        175
11.2.1  建立nsinteger、uilabel对象和ibaction方法        175
11.2.2  定义nsinteger与uilabel属性值的操作方法        176
11.3  在interface builder中构建点数控件        178
11.3.1  添加点数控件和特性设置        179
11.3.2  点数控件的大小和位置设置        182
11.3.3  点数控件的连接设置        185
11.4  小结和练习        188
第12天  考反应扑克游戏        189
12.1  view-based application的提示框交互项目        190
12.1.1  提示框uialertview的使用        190
12.1.2  保存时间值nsdate        191
12.1.3  在游戏中添加图像文件        191
12.2  时间差视图控制器        193
12.2.1  建立nsdata、uiimageview对象和ibaction方法        193
12.2.2  定义uialertview和游戏控件属性值的操作方法        194
12.3  在interface builder中构建扑克游戏控件        198
12.3.1  扑克游戏控件的添加        199
12.3.2  游戏背景视图的检查器设置        200
12.3.3  游戏扑克图像的检查器设置        202
12.3.4  游戏透明按钮的检查器设置        203
12.4  小结和练习        205
第13天  页面控制        207
13.1  view-based application的页面控制项目        207
13.1.1  添加显示在页面中的图像文件        208
13.1.2  视图的实例方法addsubview和removefromsuperview        209
13.2  多页面视图控制器        210
13.2.1  建立uipagecontrol方法        210
13.2.2  定义changepage视图操作方法        211
13.3  在interface builder中构建子视图控件        213
13.3.1  视图控件的添加        214
13.3.2  视图控件的检查器设置        216
13.4  小结和练习        224
第14天  图片浏览器        225
14.1  view-based application的滚动视图控制项目        225
14.1.1  常量定义const        226
14.1.2  数组数据类型定义nsarray        227
14.1.3  添加浏览器中的图像文件        227
14.2  滚动视图的视图控制器        228
14.2.1  建立uiscrollview对象        228
14.2.2  滚动视图的布局方法        229
14.3  在interface builder中构建滚动视图控件        233
14.3.1  添加滚动视图控件和特性设置        233
14.3.2  滚动视图控件的大小和位置设置        235
14.3.3  滚动视图控件的连接设置        237
14.4  小结和练习        239
第15天  小型表格        241
15.1  navigation-based application的初次应用        241
15.1.1  可修改式数组nsmutablearray        242
15.2  在interfacebuilder中为表格显示分组        243
15.3  rootviewcontroller class文件        244
15.3.1  uitableview的分组数量设置        244
15.3.2  uitableview的分组标题内容设置        245
15.3.3  uitableview的行数设置        247
15.3.4  uitableview的每行内容设置        248
15.3.5  表格视图的uibarbuttonitem添加标题和编辑按钮        249
15.3.6  在表格视图的导航栏按钮中添加提示框        251
15.4  自定义表格应用程序        253
15.4.1  自定义rootviewcontroller.h文件        253
15.4.2  自定义rootviewcontroller.m文件        253
15.5  小结和练习        260
第16天  地址收藏器        261
16.1  navigation-based application的表格连接管理项目        261
16.1.1  添加uiviewcontroller类        262
16.1.2  uitableview的表格单元触发页面视图        264
16.2  网址连接视图控制器        265
16.2.1  自定义rootviewcontroller.h文件        265
16.2.2  自定义rootviewcontroller.m文件        265
16.2.3  自定义detailviewcontroller.h文件        270
16.2.4  自定义detailviewcontroller.m文件        271
16.3  在interface builder中构建连接网址视图控件        272
16.3.1  添加网址视图控件和特性设置        272
16.3.2  网址视图控件的大小和位置设置        273
16.3.3  网址视图控件的连接设置        274
16.4  小结和练习        275
第17天  掌上老虎机        277
17.1  view-based application的选择器游戏项目        277
17.1.1  添加选择器中项目的图像文件        278
17.1.2  uipickerview的组成        279
17.2  老虎机的视图控制器        280
17.2.1  建立uipickerview、ui label、nsarray对象和ibaction方法        280
17.2.2  定义老虎机控件属性值的操作方法        282
17.3  在interface builder中构建老虎机游戏        287
17.3.1  添加老虎机游戏的控件和特性设置        287
17.3.2  老虎机游戏的控件大小和位置设置        291
17.3.3  老虎机游戏的控件连接设置        293
17.4  小结和练习        296
第18天  音乐播放器        297
18.1  view-based application的声音播放项目        297
18.1.1  添加播放器的背景图像和声音文件        298
18.1.2  添加支持播放声音的框架        299
18.1.3  avfoundation框架的作用        300
18.2  音乐播放器的视图控制器        301
18.2.1  建立avaudioplayer对象、播放和停止动态        301
18.2.2  定义播放器属性值的操作方法        302
18.3  在interface builder中构建音乐播放器        303
18.3.1  添加音乐播放器的控件和特性设置        304
18.3.2  音乐播放器的控件大小和位置设置        308
18.3.3  音乐播放器的控件连接设置        310
18.4  小结和练习        312
第19天  便携式电子琴        313
19.1  view-based application的音频工具项目        313
19.1.1  屏幕横向显示程序的设置        314
19.1.2  添加电子琴的背景图像和声音文件        316
19.1.3  添加音频工具框架        317
19.1.4  audio toolbox框架的作用        318
19.2  电子琴的交互方法        319
19.2.1  建立音频文件播放方法和播放动态        319
19.2.2  定义琴键属性值的操作方法        320
19.3  在interface builder中构建电子琴        325
19.3.1  电子琴视图的背景色设置        325
19.3.2  横向显示interface builder        326
19.3.3  在interface builder中添加控件        326
19.3.4  电子琴背景图的检查器设置        328
19.3.5  电子琴键的检查器设置        329
19.4  小结和练习        337
第20天  dj混音器        339
20.1  view-based application中设置混音器项目        339
20.1.1  添加混音器的背景图像和声音文件        340
20.1.2  添加支持混音器播放声音的框架        341
20.2  混音器的交互方法        342
20.2.1  建立uislider、uiswitch、avaudioplayer对象和交互方法        342
20.2.2  定义uislider和uiswitch与声音播放器的交互        344
20.3  在interface builder内构建交互控件        348
20.3.1  添加混音器的控件和特性设置        348
20.3.2  混音器的控件大小和位置设置        353
20.3.3  混音器的控件连接设置        358
20.4  小结和练习        363
第21天  音乐选播器        365
21.1  view-based application的音乐列表播放项目        366
21.1.1  添加音乐列表播放的背景图像和声音文件        366
21.1.2  添加支持音乐列表播放的框架        368
21.2  音乐列表播放的视图控制器        368
21.2.1  建立uipicker view、uiprogress view与声音播放器        368
21.2.2  定义音乐列表播放的对象和操作方法        371
21.3  在interface builder中构建音乐播放列表        375
21.3.1  添加音乐播放列表的控件和特性设置        376
21.3.2  音乐列表播放的控件大小和位置设置        380
21.3.3  音乐列表播放的控件连接设置        385
21.4  小结和练习        391
第22天  多媒体切换器        393
22.1  tab bar application的应用        394
22.1.1  删除uiviewcontroller类文件        394
22.1.2  添加多媒体切换器的背景图像和声音文件        395
22.1.3  添加支持多媒体切换器的框架        396
22.1.4  mediaplayer框架的作用        397
22.1.5  添加tab页面控制器类        398
22.2  多媒体切换器的交互方法        400
22.2.1  构建urlview控制器        400
22.2.2  构建audioview控制器        402
22.2.3  构建movieview控制器        405
22.3  在interface builder中构建tab视图        407
22.3.1  连接tab页面控制器类        407
22.3.2  添加url view页面的控件和检查器设置        411
22.3.3  添加audioview页面的控件和检查器设置        414
22.3.4  添加movieview页面的控件和检查器设置        417
22.4  小结和练习        418
第23天  移动的方块        419
23.1  windows-based application的应用        419
23.1.1  添加uiviewcontroller类        420
23.1.2  添加支持移动的方块的框架        422
23.1.3  quartzcore框架的作用        422
23.1.4  使用cgrect自定义uiwindow        423
23.1.5  使用catransaction自定义控件的动态        423
23.2  自定义appdelegate文件        425
23.3  实现图像的交互方法        427
23.4  小结和练习        430
第24天  璀璨的烟花        431
24.1  utility application的初次应用        431
24.1.1  添加烟花图像文件        432
24.1.2  添加支持关键帧动画的框架        433
24.1.3  关键帧动画        434
24.2  flipsideview简介        435
24.2.1  flipsideviewcontroller.h        435
24.2.2  flipsideviewcontroller.m        436
24.3  在mainview中构建烟花动画        437
24.4  在interface builder中构建flipsideview        440
24.5  小结和练习        443
第25天  无尽的雪花        445
25.1  utility application的随机图像动画        445
25.1.1  添加雪花图像文件        446
25.1.2  添加支持几何图形动画的框架        447
25.1.3  几何图形的生成        448
25.2  雪花几何图形的生成        449
25.2.1  建立uiimageview对象        449
25.2.2  定义图像的属性值交互ontimer方法        450
25.3  在interface builder中构建雪花简介副页        453
25.4  小结和练习        455
第26天  跳跃的皮球        457
26.1  在utility application的跳跃皮球项目        457
26.1.1  添加皮球图像文件        458
26.1.2  添加支持跳跃动画的框架        459
26.2  跳跃动画的主视图控制器        460
26.2.1  建立uiimageview和cgpoint对象        460
26.2.2  定义图像的属性值交互ontimer和轨迹动画方法        461
26.3  在interface builder中构建皮球图像主页        465
26.4  在interface builder中构建flipsideview        468
26.5  小结和练习        471
第27天  十字方向键        473
27.1  utility application的图像移动按钮项目        473
27.1.1  添加吃豆人的移动图像和声音文件        474
27.1.2  添加支持吃豆人动画和声音文件的框架        475
27.2  移动图像操作的视图控制器        476
27.2.1  建立uiimageview、按钮方向操作和音频播放方法        476
27.2.2  定义图像属性值和方向操作交互        478
27.3  在interface builder中构建吃豆人主页        483
27.3.1  构建吃豆人图像和背景图像        483
27.3.2  构建吃豆人移动按钮        488
27.4  在interface builder中构建吃豆人简介副页        495
27.5  小结和练习        498
第28天  触屏移动        499
28.1  utility application的图像触屏移动项目        499
28.1.1  添加飞行物体的图像和声音文件        500
28.1.2  添加框架文件        501
28.1.3  捕获屏幕触摸点的位置坐标        502
28.2  触屏移动操作的视图控制器        503
28.2.1  建立uiimageview、cgpoint、触屏移动操作和音频播放方法        503
28.2.2  定义图像属性值和触屏移动 操作交互        504
28.3  在interface builder中构建 mainview        507
28.3.1  构建ufo图像        507
28.4  在interface builder中构建ufo 简介副页        511
28.5  小结和练习        513
第29天  跳跃动作        515
29.1  utility application的游戏人物跳跃 动作项目        515
29.1.1  添加游戏人物的图像和动作 声音文件        516
29.1.2  添加支持游戏人物动画 和声音文件的框架        517
29.1.3  设置显示横屏游戏        518
29.2  游戏人物跳跃动作的视图控制器        520
29.2.1  建立uiimageview跳跃按钮 操作和音频播放方法        520
29.2.2  定义图像属性值和跳跃操作 交互        522
29.3  在interface builder中构建跳跃动作 主页        525
29.3.1  构建游戏人物和背景图像        526
29.3.2  构建游戏人物跳跃按钮        530
29.4  在interface builder中构建游戏 简介副页        532
29.5  小结和练习        534
第30天  打砖块游戏        535
30.1  utility application的打砖块游戏        536
30.1.1  添加打砖块的图像和声音 文件        536
30.1.2  添加框架文件        537
30.1.3  添加uiimageview控制器        538
30.1.4  自定义uiimageview视图 检查器        540
30.2  打砖块的mainviewcontroller交互 方法        542
30.2.1  建立游戏分数控件、操作交互 和音频播放方法        542
30.2.2  定义游戏的操作和属性值        544
30.3  在interface builder内构建 boardview        560
30.3.1  添加nsobject        560
30.3.2  nsobject的身份设置        560
30.4  在interface builder中构建打砖块 游戏主页        561
30.5  在interface builder中构建打砖块 简介副页        574
30.6  小结和再会        576