疯狂iOS 讲义(上) Objective-C 2.0与iPhone/iPad应用开发基础

疯狂iOS 讲义(上) Objective-C 2.0与iPhone/iPad应用开发基础 pdf epub mobi txt 电子书 下载 2026

出版者:电子工业出版社
作者:李刚
出品人:
页数:684
译者:
出版时间:2014-1
价格:99
装帧:平装
isbn号码:9787121191077
丛书系列:
图书标签:
  • iPhone
  • ios
  • 李刚
  • iOS
  • Objective-C
  • 编程
  • 疯狂讲义
  • 开发
  • iOS开发
  • Objective-C
  • iPhone应用
  • iPad应用
  • 苹果开发
  • 编程基础
  • 移动开发
  • 苹果生态
  • 上册
  • 入门级
想要找书就要到 图书目录大全
立刻按 ctrl+D收藏本页
你会得到大惊喜!!

具体描述

本书以最新的 iOS 7.0、Xcode 5 为平台,全面介绍 iOS 应用开发的基础知识。全书从 Objective-C 基本语法开始,详细介绍了 Objective-C 的基本语法结构、Objective-C 的面向对象特征、Foundation 框架的核心类库用法、文件 I/O 体系等知识,掌握 Objective-C 语言是 iOS 引用开发的基础。之后,本书将带领读者掌握 iOS 应用开发的基本理论以及 iOS 应用的 MVC 设计和事件处理编程,重点介绍 iOS 界面编程、iOS 应用的生命周期、Quartz 2D 绘图、坐标变换、Core Image 滤镜、Core Animation 动画等内容。最后介绍了一个《疯狂连连看》游戏实例。

本书并不局限于介绍 iOS 编程的各种理论知识,而是从“项目驱动”的角度来讲授理论,全书一共包括近百个实例,这些示范性的实例既可帮读者更好地理解各知识点在实际开发中的应用,也可供读者在实际开发时作为参考,拿来就用。

本书为所有打算深入掌握 iOS 编程的读者而编写,适合各层次的 iOS 学习者和开发者阅读,也适合作为大学教育、培训机构的 iOS 教材。但如果只是想简单涉猎 iOS 应用开发,则本书过于庞大,不适合阅读。

深入探索移动应用开发的基石:Objective-C 2.0与iOS原生编程 本书旨在为致力于掌握iOS应用开发的学习者提供一个扎实、全面的基础指南。我们将聚焦于Objective-C 2.0语言本身及其在Apple生态系统中的核心地位,为后续深入学习Cocoa Touch框架和现代iOS开发打下坚实的基础。 面向读者: 本书适合具备C语言或至少一门面向对象编程语言(如Java, C++)基础,渴望系统学习iOS原生应用开发,特别是对Objective-C 2.0语言特性及其底层机制感兴趣的开发者和学生。 内容架构与核心要点: 第一部分:Objective-C 2.0 语言精要 本部分将彻底剖析Objective-C 2.0这门语言,它是构建所有原生Apple应用(macOS, iOS, watchOS, tvOS)的基石。我们不会仅仅停留在语法层面,而是深入探究其面向对象范式与C语言的完美融合。 1. 从C到Objective-C的桥接: 深入理解Objective-C如何建立在ANSI C之上。探讨C语言数据类型、预处理器指令在Objective-C项目中的地位。 2. 消息传递机制(Messaging): 这是Objective-C的核心灵魂。我们将详细解析运行时(Runtime)如何处理方法调用,探究`id`类型、消息转发(Message Forwarding)机制,以及`performSelector:`等动态特性的工作原理。理解`objc_msgSend`的意义,对于调试和性能优化至关重要。 3. 类、对象与实例变量的内存布局: 剖析Objective-C对象在内存中的结构,包括`isa`指针和实例变量的存储方式。理解类对象(Meta Class)的概念及其在类方法调用中的作用。 4. 内存管理基础(ARC之前): 尽管现代iOS开发主要依赖自动引用计数(ARC),但理解手动引用计数(MRC)时代的`retain`, `release`, `autorelease`机制是理解ARC工作原理的关键。我们将回顾这些基础概念,以更好地掌握ARC的幕后操作。 5. 协议(Protocols)与类别(Categories): 深入研究协议在实现多态和定义接口中的作用。重点讲解类别,如何动态地向现有类添加方法,以及在方法冲突和内部实现中的注意事项。 6. 块(Blocks)的机制: Blocks是Objective-C中强大的闭包特性。我们将详细讲解Blocks的捕获列表(捕获变量的方式,如`__strong`, `__weak`, `__block`),Block的类型,以及它们在异步编程和高阶函数中的应用。 第二部分:面向对象的深度实践 本部分将Objective-C的面向对象特性与实际开发场景相结合,强调“面向对象设计”而非仅仅是“面向对象语法”。 1. 继承、多态与方法解析: 区分类方法和实例方法的调用流程。探讨继承链的解析过程,以及如何通过`super`关键字调用父类方法。 2. 属性(Properties)的真正含义: 属性远不止是语法糖。我们将解析`@property`指令背后的存取方法(getter/setter)的生成,以及`atomic`、`nonatomic`、内存管理属性(如`strong`, `copy`, `weak`)对底层方法实现的具体影响。 3. 集合类的高效使用: 详尽介绍Foundation框架中的核心集合类:`NSArray`, `NSDictionary`, `NSSet`的底层实现原理和性能考量。特别是探索这些类如何处理对象引用,以及它们对可变性(Mutable)和不可变性(Immutable)的界定。 第三部分:与C/C++的互操作性 Objective-C强大的兼容性是其成为Apple平台首选语言的重要原因。 1. C语言数据结构集成: 如何在Objective-C类中安全地嵌入和使用C结构体(`struct`)和C函数。 2. Objective-C++ (Mixed Language Programming): 介绍如何在一个文件中混合使用Objective-C和C++代码(`.mm`文件)。重点阐述在混合代码中,如何安全地转换和传递数据类型(如`std::string`与`NSString`之间的转换),以及理解MRC在C++对象生命周期管理中的特殊性。 学习价值与预期收获: 完成本书的学习后,读者将不再仅仅是能写出调用API的代码的“使用者”,而是能够深刻理解代码执行流程的“构建者”。你将能够: 自信地阅读和理解任何使用Objective-C编写的遗留代码或开源库。 在遇到运行时错误或性能瓶颈时,能够追溯到消息传递或内存管理层面进行诊断。 为将来学习Swift奠定坚实的面向对象和动态语言理解基础。 为后续深入学习Cocoa Touch框架(如UIKit/AppKit)中复杂的委托(Delegation)、通知(Notification)和响应者链(Responder Chain)机制做好充分准备。 本书提供的知识是构建任何高性能、可维护的iOS原生应用不可或缺的底层视角。

作者简介

李刚,从事10多年的软件行业从业经历,现任疯狂软件教育中心教学总监。

51cto专家门诊特邀嘉宾。

曾任广州电信、广东龙泉科技等公司的技术培训导师,广东技术师范学院计算机科学系的兼职副教授。

培训的学生已在华为、IBM、阿里软件、网易、电信盈科等名企就职。

国内著名高端IT技术作家,已出版疯狂体系图书均已得到广泛的市场认同,多次重印成为超级畅销书,并被多所“985”“211”院校选作教材。部分图书已被翻译成繁体中文版、授权到台湾地区。

前言

目录信息

第1章 iOS应用与开发环境 1
1.1 Objective-C与iOS简介 2
1.1.1 Objective-C简介 2
1.1.2 iOS简介 3
1.2 搭建iOS开发环境 3
1.2.1 下载并安装Xcode和SDK 4
1.2.2 安装辅助工具和文档 6
1.3 第一个Objective-C程序 6
1.3.1 使用文本编辑器开发Objective-C程序 7
1.3.2 使用Xcode工具开发Objective-C程序 9
1.4 熟悉Xcode 10
1.4.1 创建iOS项目 11
1.4.2 熟悉导航面板 12
1.4.3 熟悉检查器面板 14
1.4.4 熟悉库面板 15
1.4.5 使用Xcode的帮助系统 17
1.5 小结 20
第2章 数据类型和运算符 21
2.1 注释 22
2.2 标识符和变量 23
2.2.1 分隔符 23
2.2.2 标识符规则 25
2.2.3 Objective-C关键字 25
2.3 数据类型分类 25
2.4 基本数据类型 26
2.4.1 整型 26
2.4.2 NSLog输出函数及格式字符 27
2.4.3 字符型 29
2.4.4 浮点型 30
2.4.5 枚举型 31
2.4.6 BOOL类型 32
2.5 类型转换 34
2.5.1 自动类型转换 34
2.5.2 强制类型转化 36
2.5.3 表达式类型的自动提升 36
2.6 运算符 37
2.6.1 算术运算符 37
2.6.2 赋值运算符 39
2.6.3 位运算符 40
2.6.4 扩展后的赋值运算符 42
2.6.5 比较运算符 42
2.6.6 逻辑运算符 43
2.6.7 逗号运算符 43
2.6.8 三目运算符 44
2.6.9 运算符的结合性和优先级 45
2.7 小结 46
第3章 流程控制与数组 47
3.1 顺序结构 48
3.2 分支结构 48
3.2.1 if条件语句 48
3.2.2 switch分支语句 52
3.3 循环结构 54
3.3.1 while循环语句 54
3.3.2 do while循环语句 56
3.3.3 for循环 56
3.3.4 嵌套循环 59
3.4 控制循环结构 60
3.4.1 使用break结束循环 61
3.4.2 使用continue结束本次循环 61
3.4.3 使用return结束函数 62
3.5 goto语句 62
3.6 数组 64
3.6.1 定义数组 64
3.6.2 数组的初始化 65
3.6.3 使用数组 66
3.6.4 多维数组 67
3.6.5 多维数组的初始化 68
3.6.6 字符数组、字符串与结束标志 73
3.6.7 输出字符串和字符串函数 74
3.6.8 数组的应用举例 76
3.7 小结 78
第4章 C语言特性 79
4.1 函数 80
4.1.1 定义函数 80
4.1.2 函数声明 83
4.1.3 函数的参数传递机制 84
4.1.4 递归函数 88
4.1.5 数组作为函数参数 89
4.1.6 内部函数与外部函数 93
4.2 局部变量与全局变量 94
4.2.1 局部变量 95
4.2.2 全局变量 96
4.2.3 外部全局变量与内部全局变量 97
4.2.4 动态存储与静态存储 99
4.3 预处理 101
4.3.1 使用#define、#undef执行宏定义 101
4.3.2 带参数的宏定义 103
4.3.3 使用#ifdef、#ifndef、#else、#endif执行条件编译 104
4.3.4 使用#if、#elif、#else、#endif执行条件编译 106
4.3.5 #include与#import 107
4.4 指针 108
4.4.1 指针的概念 108
4.4.2 指针变量及其基本用法 109
4.4.3 指针变量作为函数参数 111
4.5 指针与数组 113
4.5.1 指向数组的指针变量 113
4.5.2 指针运算 114
4.5.3 数组变量作为函数参数 116
4.5.4 指向多维数组的指针变量 118
4.6 字符串与指针 121
4.6.1 使用字符指针表示字符串 121
4.6.2 字符指针作为函数参数 122
4.7 函数与指针 123
4.7.1 用函数指针变量调用函数 123
4.7.2 用函数指针变量作为函数参数 124
4.7.3 返回指针的函数 126
4.8 指针数组和指向指针的指针 127
4.8.1 指针数组与main()函数形参 127
4.8.2 指向指针变量的指针 130
4.9 结构体 130
4.9.1 定义结构体 131
4.9.2 typedef语句 133
4.9.3 初始化结构体变量 134
4.9.4 结构体数组 135
4.10 块 136
4.10.1 块的基本语法 136
4.10.2 块与局部变量 137
4.10.3 直接使用块作为参数 139
4.10.4 使用typedef定义块变量类型 139
4.11 小结 140
第5章 面向对象(上) 141
5.1 类和对象 142
5.1.1 定义类 142
5.1.2 对象的产生和使用 146
5.1.3 对象和指针 148
5.1.4 self关键字 150
5.1.5 id类型 153
5.2 方法详解 154
5.2.1 方法的所属性 154
5.2.2 形参个数可变的方法 155
5.3 成员变量 156
5.3.1 成员变量及其运行机制 156
5.3.2 模拟类变量 158
5.3.3 单例(Singleton)模式 159
5.4 隐藏和封装 160
5.4.1 理解封装 161
5.4.2 使用访问控制符 161
5.4.3 理解@package访问控制符 165
5.4.4 合成存取方法 166
5.4.5 使用点语法访问属性 171
5.5 键值编码(KVC)与键值监听(KVO)172
5.5.1 简单的KVC 172
5.5.2 处理不存在的key 175
5.5.3 处理nil值 176
5.5.4 Key路径 178
5.5.5 键值监听(KVO) 179
5.6 对象初始化 182
5.6.1 为对象分配空间 182
5.6.2 初始化方法与对象初始化 183
5.6.3 便利的初始化方法 185
5.7 类的继承 187
5.7.1 继承的特点 187
5.7.2 重写父类的方法 189
5.7.3 super关键字 190
5.8 多态 193
5.8.1 多态性 193
5.8.2 指针变量的强制类型转换 196
5.8.3 判断指针变量的实际类型 197
5.9 小结 198
第6章 面向对象(下) 199
6.1 Objective-C的包装类 200
6.1.1 它们不是包装类 200
6.1.2 NSValue和NSNumber 201
6.2 处理对象 202
6.2.1 打印对象和description方法 202
6.2.2 ==和isEqual方法 205
6.3 类别与扩展 209
6.3.1 类别(category) 210
6.3.2 利用类别对类进行模块化设计 212
6.3.3 使用类别来调用私有方法 212
6.3.4 扩展(extension) 214
6.4 协议(protocol)与委托 216
6.4.1 规范、协议与接口 216
6.4.2 使用类别实现非正式协议 217
6.4.3 正式协议的定义 218
6.4.4 遵守(实现)协议 219
6.4.5 协议与委托(delegate) 222
6.5 使用@try处理异常 225
6.5.1 使用@try...@catch...@finally捕捉异常 226
6.5.2 访问异常信息 228
6.5.3 使用@finally回收资源 229
6.5.4 抛出异常与自定义异常类 230
6.6 Objective-C反射机制 232
6.6.1 获得Class 232
6.6.2 检查继承关系 233
6.6.3 动态调用方法 235
6.7 手动内存管理 237
6.7.1 对象的引用计数 239
6.7.2 对象所属权 241
6.7.3 方法中的保留和释放 243
6.7.4 使用自动释放池 245
6.7.5 自动释放池的销毁时机与工作过程 246
6.7.6 临时对象与事件循环中的自动释放池 248
6.7.7 手动内存管理的规则总结 249
6.8 自动引用计数 250
6.8.1 自动引用计数概述 250
6.8.2 @autoreleasepool块 251
6.9 小结 251
第7章 Foundation框架详解 252
7.1 字符串(NSString与NSMutableString) 253
7.1.1 创建字符串 253
7.1.2 NSString的常用功能 254
7.1.3 可变字符串(NSMutableString) 255
7.2 日期与时间 256
7.2.1 日期与时间(NSDate) 256
7.2.2 日期格式器(NSDateFormatter) 258
7.2.3 日历(NSCalendar)与日期组件(NSDateComponents) 260
7.2.4 定时器(NSTimer) 261
7.3 对象复制 263
7.3.1 copy与mutableCopy方法 263
7.3.2 NSCopying与NSMutableCopy协议 264
7.3.3 浅复制与深复制 266
7.3.4 setter方法的复制选项 268
7.4 Objective-C集合概述 269
7.5 数组(NSArray与NSMutableArray) 270
7.5.1 NSArray的功能与用法 270
7.5.2 对集合元素整体调用方法 275
7.5.3 对NSArray进行排序 276
7.5.4 使用枚举器遍历NSArray集合元素 278
7.5.5 快速枚举(for…in) 279
7.5.6 可变数组(NSMutableArray) 279
7.5.7 NSArray的KVC与KVO 281
7.6 集合(NSSet与NSMutableSet) 282
7.6.1 NSSet的功能与用法 282
7.6.2 NSSet判断集合元素重复的标准 285
7.6.3 NSMutableSet的功能与用法 288
7.6.4 NSCountedSet的功能与用法 289
7.7 有序集合(NSOrderedSet与NSMutableOrderedSet) 290
7.8 字典(NSDictionary与NSMutableDictionary) 291
7.8.1 NSDictionary的功能与用法 292
7.8.2 对NSDictionary的key排序 295
7.8.3 对NSDictionary的key进行过滤 297
7.8.4 使用自定义类作为NSDictionary的key 298
7.8.5 NSMutableDictionary的功能与用法 299
7.9 谓词 301
7.9.1 定义谓词 301
7.9.2 使用谓词过滤集合 302
7.9.3 在谓词中使用占位符参数 303
7.9.4 谓词表达式语法 305
7.9 小结 307
第8章 文件I/O 308
8.1 使用NSData与NSMutableData 309
8.2 使用NSFileManager管理文件和
8.2.1 访问文件属性和内容 311
8.2.2 创建、删除、移动、复制 312
8.2.3 查看目录包含的内容 313
8.3 使用NSPathUtilities.h管理路径 314
8.4 使用ProcessInfo获取进程信息 316
8.5 使用NSFileHandle处理文件IO 317
8.6 使用NSURL读取网络资源 319
8.7 使用NSBundle处理项目相关资源 320
8.8 对象归档 322
8.8.1 使用NSKeyedArchiver归档 322
8.8.2 实现NSCoding协议 323
8.8.3 使用NSData完成自定义归档 326
8.8.4 使用归档实现深复制 329
8.9 小结 330
第9章 iOS应用开发入门 331
9.1 从iOS项目开始 332
9.1.1 iOS项目包含的文件 332
9.1.2 Interface Builder简介 333
9.1.3 向nib文件添加控件 336
9.1.4 修改控件属性 338
9.1.5 UIView支持的属性 339
9.1.6 UILabel支持的属性 340
9.2 MVC 342
9.2.1 从程序入口开始 342
9.2.2 应用程序委托 343
9.2.3 理解iOS的MVC 346
9.2.4 掌握UIViewController控制器 347
9.3 事件机制 349
9.3.1 程序获取控件的两种方式 349
9.3.2 事件处理的方式 353
9.4 Storyboard的改进之处 358
9.5 代码控制UI界面 360
9.5.1 不使用界面布局文件开发UI界面 360
实例:无界面布局文件开发iOS应用 360
9.5.2 使用代码创建UI界面 362
实例:动态添加、删除标签 362
9.4.3 自定义UI控件 364
实例:跟随手指运动的小球 365
9.6 美化iOS应用 367
9.5.1 定制iOS应用图标 367
9.5.2 设置iOS应用的启动画面 367
9.6 小结 369
第10章 iOS应用的界面编程 370
10.1 UI控件概述 371
10.1.1 活动、静态和被动控件 371
10.1.2 UIControl基类介绍 372
10.2 按钮(UIButton) 373
实例:丰富多彩的按钮 376
10.3 文本框(UITextField) 377
实例:用户登录界面 379
10.3.1 完成输入后关闭键盘 380
10.3.2 触碰背景关闭键盘 381
10.4 多行文本控件(UITextView) 382
10.4.1 UIScrollView支持的属性 383
10.4.2 使用委托对象处理UITextView事件 385
实例:导航按钮关闭虚拟键盘 385
实例:自定义键盘附件关闭虚拟键盘 387
10.4.3 自定义选择内容后的菜单 389
10.5 开关按钮(UISwitch) 390
实例:使用开关控制“手电筒” 390
10.6 分段控件(UISegmentedControl) 391
实例1:通过分段控件控制背景颜色 393
实例2:动态增加、删除分段 394
10.7 图像控件(UIImageView) 395
实例1:图片浏览器 396
实例2:“幻灯片”播放器 398
10.8 进度条 399
10.8.1 UIProgressView 399
实例:定制进度条 400
10.8.2 UIActivityIndicatorView 401
10.9 拖动条(UISlider) 403
实例:通过拖动滑块改变图片透明度 404
10.10 警告框(UIAlertView)与UIActionSheet 405
10.10.1 UIAlertView的基本用法 405
10.10.2 带输入框的UIAlertView 407
10.10.3 使用UIActionSheet 409
10.11 日期选择器(UIDatePicker) 411
实例:倒计时器 413
10.12 选择器(UIPickerView) 415
10.12.1 单列选择器 416
10.12.2 多列选择器 417
10.12.3 相互依赖的多列选择器 419
10.12.4 自定义选择器视图 421
实例:“老虎机”游戏 421
10.13 微调器(UIStepper) 426
10.14 网页控件(UIWebView) 428
实例:迷你浏览器 430
10.15 工具条(UIToolbar) 431
实例:自定义工具条控件 433
10.16 表格(UITableView)与表格控制器 (UITableViewController) 435
10.16.1 简单表格 437
10.16.2 处理单元格的选中 440
实例:编辑选中行 441
10.16.3 定制表格行 446
实例1:继承UITableViewCell定制表格行 446
实例2:使用动态单元格原型定制表格行 449
实例3:利用xib文件定制表格行 451
10.16.4 编辑表格 454
10.16.5 多分区表格以及分区索引 459
10.16.6 直接使用 UITableViewController 461
10.16.7 静态单元格 464
10.16.8 使用iOS 6新增的UIRefresh Controller刷新表格 465
10.17 搜索条(UISearchBar) 467
10.17.1 使用搜索条 468
10.17.2 使用UISearchDisplayController 471
实例:下拉列表显示搜索结果 471
10.18 导航条(UINavigationBar)与导航 条控制器(UINavigationController) 475
10.18.1 使用导航条 475
10.18.2 使用UINavigationController 477
实例:查看、编辑图书信息 479
10.18.3 使用segue控制过渡 484
10.18.4 使用segue控制导航 487
10.19 网格(UICollectionView)与网格控制器(UICollectionViewController) 490
10.19.1 UICollectionView的功能与用法 492
10.19.2 使用UICollectionViewDelegate FlowLayout定制布局 497
实例:单元格大小不同的网格 497
10.19.3 扩展UICollectionViewLayout定制布局 498
实例:环形布局的UICollectionView 499
10.19.4 多分区网格 502
实例:带页眉、页脚的多分区网格 502
10.19.5 直接使用UICollectionViewController 505
10.20 标签条(UITabBar)与标签页控制器(UITabBarController) 509
10.20.1 使用UITabBar 509
10.20.2 使用UITabBarController 511
10.20.3 在Storyboard中使用UITabBarController 514
10.21 页控件(UIPageControl)与页控制器(UIPageViewController) 515
10.21.1 UIPageControl与UIScrollView结合使用 515
10.21.2 使用UIPageViewController 519
10.22 iPad应用开发 523
10.22.1 使用iPad专用控件:UISplitViewController 523
10.22.2 使用UIPopoverController实现浮动窗口 530
10.22.3 开发同时兼容iPhone与iPad 的应用 532
10.23 小结 535
第11章 管理iOS应用的运行 537
11.1 自动旋转机制 538
11.1.1 配置应用支持的方向 538
11.1.2 指定视图控制器支持的方向 540
11.2 旋转时重构用户界面 541
11.3 旋转时切换视图 543
11.4 iOS应用的生命周期 546
11.4.1 应用程序的状态 547
11.4.2 应用程序启动过程 548
11.4.3 程序入口:main函数 549
11.4.4 响应中断 550
11.4.5 进入后台 552
11.4.6 返回前台运行 553
11.4.7 应用程序终止 554
11.4.8 Main Run Loop 554
11.5 小结 555
第12章 图形、图像与动画 556
12.1 使用UIImage和CGImage处理位图 557
12.1.1 显示动画 557
实例:蝴蝶飞舞 559
12.1.2 CGImage与CGImageRef 559
12.2 Quartz 2D绘图 560
12.2.1 Quartz 2D绘图基础:CGContextRef 560
12.2.2 绘制几何图形 563
12.2.3 点线模式 565
12.2.4 绘制文本 569
12.2.5 设置阴影 572
12.2.6 使用路径 573
实例:绘制任意多角星 577
12.2.7 绘制曲线 578
实例:使用曲线绘制多瓣花朵 579
12.2.8 在内存中绘图 580
实例:绘图板 583
12.2.9 绘制位图 587
实例:扩展UIImage的功能 588
12.3 图形变换 593
12.3.1 使用坐标变换 593
12.3.2 坐标变换与路径结合使用 594
实例:雪花飘飘 594
12.3.3 使用矩阵变换 596
12.4 控制叠加模式 599
12.5 处理填充 604
12.5.1 渐变填充 605
12.5.2 模式填充 609
12.6 使用Core Image滤镜 614
12.7 动画 621
12.7.1 Core Animation动画基础 621
12.7.2 使用CALayer 622
12.7.3 使用CATransition控制过渡动画 625
12.7.4 使用属性动画 629
12.7.5 控制移动路径 634
实例:绕圈游动的小鱼 634
12.8 小结 636
第13章 疯狂连连看 637
13.1 游戏简介 638
13.2 开发游戏界面 639
13.2.1 开发界面布局 639
13.2.2 开发游戏界面控件 639
13.2.3 处理方块之间的连接线 644
13.3 游戏的状态数据模型 646
13.3.1 定义数据模型 646
13.3.2 初始化游戏状态数据 647
13.4 加载界面的图片 651
13.5 实现游戏视图控制器 653
13.6 实现游戏逻辑 655
13.6.1 定义FKGameService的接口代码 655
13.6.2 实现FKGameService 656
13.6.3 获取触碰点的方块 657
13.6.4 判断两个方块是否可以相连 658
13.6.5 定义获取通道的工具方法 659
13.6.6 没有转折点的横向连接 661
13.6.7 没有转折点的纵向连接 661
13.6.8 一个转折点的连接 662
13.6.9 两个转折点的连接 665
13.6.10 找出最短距离 671
13.7 小结 673
· · · · · · (收起)

读后感

评分

疯狂Ajax讲义 疯狂Android讲义 轻量级Java EE企业应用实战 疯狂XML讲义 疯狂Java讲义精粹 疯狂Ajax讲义 : jQuery/Ext JS/Prototype/DWR企业应用前端开发实战(含CD光盘1张)(畅销书升级版 疯狂HTML 5/CSS 3/JavaScript讲义 疯狂Java程序员的基本修养 疯狂软件教育标准教...

评分

逻辑错误,字写错,上下意思混乱,这些遍布满书的错误我都忍了。 代码都不对,入门书的试题你都弄不准怎么写,我真是很佩服。 国产就没有良心点的书?还标价这么贵 不要脸到极点  

评分

逻辑错误,字写错,上下意思混乱,这些遍布满书的错误我都忍了。 代码都不对,入门书的试题你都弄不准怎么写,我真是很佩服。 国产就没有良心点的书?还标价这么贵 不要脸到极点  

评分

疯狂Ajax讲义 疯狂Android讲义 轻量级Java EE企业应用实战 疯狂XML讲义 疯狂Java讲义精粹 疯狂Ajax讲义 : jQuery/Ext JS/Prototype/DWR企业应用前端开发实战(含CD光盘1张)(畅销书升级版 疯狂HTML 5/CSS 3/JavaScript讲义 疯狂Java程序员的基本修养 疯狂软件教育标准教...

评分

逻辑错误,字写错,上下意思混乱,这些遍布满书的错误我都忍了。 代码都不对,入门书的试题你都弄不准怎么写,我真是很佩服。 国产就没有良心点的书?还标价这么贵 不要脸到极点  

用户评价

评分

这本书简直是为那些想在iOS开发领域闯出一片天地的自学者准备的宝典!我记得我刚接触Objective-C那会儿,面对满屏的语法和那些看不懂的类名,简直是心生畏惧。但自从翻开这本《疯狂iOS 讲义(上)》,那种迷茫感瞬间就被一种清晰的指引所取代。作者的叙述方式非常平易近人,就像一位经验丰富的老师在手把手地教你一样,每一个概念的引入都设计得极其巧妙,让你在不知不觉中就理解了深层的原理。特别是对于初学者最头疼的内存管理和引用计数,书里通过生动的比喻和清晰的代码示例,把复杂的理论讲解得透彻入微,让我第一次对ARC(自动引用计数)有了醍醐灌顶的感觉。而且,它不仅仅停留在“是什么”,更深入到了“为什么”和“怎么做”的层面,确保你不仅能写出代码,更能理解代码背后的设计哲学。光是这本书的前半部分,就已经为我后续学习更高级的框架打下了无比坚实的基础。

评分

如果你正在寻找一本能够让你在iOS开发旅程中少走弯路的引路灯,那么这本书无疑是首选中的首选。我身边不少朋友,尝试了其他几本声称是“权威”的书籍,结果都在某个技术节点上碰了壁,不得不重新寻找资料。而这本讲义的优势在于其知识的全面性和逻辑的严密性。它不仅教会你如何操作UI,更重要的是教会你如何去思考“苹果式”的编程范式。比如,在视图控制器生命周期和应用委托模式的讲解部分,它做得比许多官方文档都要清晰易懂,真正让你理解了App的运行脉络。我强烈推荐所有打算认真对待移动开发的同仁,将这本书作为案头必备的参考书,它的价值绝对远超其纸张和油墨的成本,它投资的是你未来作为一名优秀iOS工程师的潜力。

评分

说实话,现在市面上的技术书籍多如牛毛,很多都是堆砌API文档和一些过时的教程片段,读起来干巴巴的,效率极低。然而,这本讲义的编排结构和内容深度,完全展现了作者对教学艺术的深刻理解。它不是那种只教你“复制粘贴”的速成手册,而是一本真正意义上构建知识体系的教科书。我特别欣赏它在讲解基础数据结构和常用控件时,所穿插的大量实战案例。这些案例绝非那种空泛的“Hello World”,而是贴近真实开发场景的迷你项目,让你在实践中巩固理论。更赞的是,作者对Objective-C 2.0的特性挖掘得非常到位,那些在其他入门书里常常被一带而过的细节,在这里都被赋予了足够的篇幅进行详尽的剖析。读完这本书,你会发现自己对OC语言本身的掌控力得到了质的飞跃,不再满足于停留在表面的调用,而是开始主动去探索方法的实现细节。

评分

我通常对“XX基础”这类标题的书籍持保留态度,因为它们往往停留在非常浅的层面,无法满足一个渴望深入了解底层原理的工程师的需求。然而,这本《讲义》彻底颠覆了我的看法。它在“基础”的名义下,实际上涵盖了大量中高级开发者才需要掌握的知识点,只是它们被巧妙地组织在了易于消化的学习路径上。例如,书中对运行时(Runtime)机制的介绍,即便不是全书的重点,也给出了一个非常清晰的框架,为将来深入研究动态特性埋下了伏笔。我感觉这本书的作者在编写时,时时刻刻都在站在读者的角度思考:“如果我是初学者,我最想知道什么?我会在哪里卡住?” 这种同理心贯穿始终,使得阅读体验流畅无比,几乎没有“卡壳”的时候。它真正实现了从零到熟练掌握iOS开发核心语言与环境的完美过渡。

评分

对于像我这样,习惯了用更现代语言(比如Swift)的开发者来说,回溯到Objective-C的世界进行学习,往往会觉得枯燥乏味,仿佛在阅读古籍。但这本书成功地用一种极具现代感的方式,将Objective-C的魅力重新展现了出来。它的排版设计非常人性化,重点突出,逻辑链条紧密。在讲解面向对象编程的核心概念时,作者结合苹果生态的特点进行了深入阐述,让你明白为什么OC会以那样的方式存在。当我尝试用书中的知识点去重构一些老旧的项目时,我惊喜地发现,许多过去难以理解的内存泄漏问题,竟然能通过书中讲解的几个关键点迎刃而解。这说明作者不仅知识储备深厚,更拥有将复杂技术“降维打击”的超凡能力,让晦涩的知识变得触手可及,这对于提高开发效率和代码质量,有着不可估量的价值。

评分

在开发实际的东西的时候,有的东西可借鉴的不多。用来学习的话,还可以。

评分

一般

评分

一般

评分

看到这个封面 记得不要买

评分

入门可以,太简单。只适合入门

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2026 book.wenda123.org All Rights Reserved. 图书目录大全 版权所有