Blocks编程要点
【老狼推荐】Blocks编程要点
原文:Blocks Programming Topics
链接:http://developer.apple.com/library/ios/#documentation/cocoa/Conceptual/Blocks/Articles/00_Introduction.html#//apple_ref/doc/uid/TP40007502-CH1-SW1
PDF文档下载:
Blocks 编程要点.pdf (368 K) 下载次数:7250
PS:
【翻译缘由---翻译本身也是强化学习的过程】
之前一直在CocoaChina上面潜水,虽然做iOS开发也快2年了,但是总觉得缺少了点什么。以前查看英文API文档,有些细节总是记不住,每次看完
之后也没什么印象。忽然有一天有人向我抱怨说查看官方英文API文档太痛苦了,然后我就想如果我把一些常用的官方文档翻译为中文的话,或许可以帮助这批需
要帮助的人,然后偶就心血来潮,开始了自娱自乐的翻译之旅。帮助别人的同时,自己也获得快乐。
Block是iOS
4.0之后添加的新特性支持。本人亲测感觉使用Block最大的便利就是简化的回调过程。以前使用UIView的动画,进程要控制动画结束后进行相应的处
理。iOS
4.0之后,UIView新增了对Block的支持,现在只要使用简单的一个Block代码就可以在写动画的代码部分直接添加动画结束后的操作。还有就是
在使用Notification 时候Block也非常有帮助。反正多用就可以体会到Block的优美了。
对了,使用Block要谨记别造成对象
互相引用对方导致引用计数进入一个循环导致对象无法被释放。iOS
5.0之后的ARC也是无法解决该潜在的互相引用的问题的。所以写Block的时候要注意这点。因为Block往往在后台自动对一些它引用了的对象进行
retain操作。具体形式这里就不距离了,大家在使用的时候多体会一下。
本文在翻译过程中发现很多地方直译成中文比较晦涩,所以采用了意译的方式,这不可避免的造成有一些地方可能和原文有一定的出入,所以如果你阅读的时候发现有任何的错误都可以给我发邮件:xyl.layne@gmail.com
大家也可以关注我微博一起沟通交流学习。
微博地址: http://weibo.com/u/1826448972
最后希望这篇文档能帮上那些感觉看官方英文文档困难的人。如果可以我还是推荐尽量查看英文原文档,毕竟那是原汁原味,翻译总无法避免有一定的疏漏。
其实之前没有打算要翻译该文档的,只是中间自己学习到Block用法,心想干脆就一边学习一边翻译好了。或许大家对Blocks不太熟悉,如果你原本没有用过block的话,那可以看看本文档,你会发现其实block很好用。
下期预告:Core Data 编程指南
因为翻译的时候写在word里面,格式太多,图片上传麻烦,所以干脆直接转换为PDF提供给大家下载。
以下提供目录预览:
目录
简介
本文档结构
第一章 BLOCKS入门
1.1 声明和使用一个BLOCK
1.2 直接使用BLOCK
1.3 COCOA的BLOCKS
1.4 __BLOCK变量
第二章 概念概述
2.1 BLOCK功能
2.2 用处
第三章 声明和创建BLOCKS
3.1 声明一个BLOCK的引用
3.2 创建一个BLOCK
3.3 全局BLOCKS
第四章 BLOCKS和变量
4.1 变量类型
4.2 __BLOCK存储类型
4.3 对象(OBJECT)和BLOCK变量
4.3.1 Objective-C对象
4.3.2 C++对象
4.3.3 Blocks
第五章 使用BLOCKS
5.1 调用一个BLOCK
5.2 使用BLOCK作为函数的参数
5.3 使用BLOCK作为方法的参数
5.4 拷贝BLOCKS
5.5 需要避免的模式
5.6 调试
结束语
推荐资源
PDF文档下载:
Blocks 编程要点.pdf (368 K) 下载次数:7250
推荐资源:
核心动画编程指南【Core Animation Programming Guide】
下载地址:
http://www.cocoachina.com/bbs/read.php?tid=84461&fpage=3
多线程编程指南【Threading Programming Guide】
下载地址:
http://www.cocoachina.com/bbs/read.php?tid=87592
Instruments 用户指南【Instruments User Guide】
下载地址:
http://www.cocoachina.com/bbs/read.php?tid=92026
本地和推送通知编程指南【Local and Push Notification Programming Guide】
下载地址:
http://www.cocoachina.com/bbs/read.php?tid=98797
Core Data 编程指南【Core Data Programming Guide】
下载地址:【近期推出,敬请关注微博动态】
Blocks编程要点的更多相关文章
- Java 编程要点之并发(Concurrency)详解
计算机用户想当然地认为他们的系统在一个时间可以做多件事.他们认为,他们可以工作在一个字处理器,而其他应用程序在下载文件,管理打印队列和音频流.即使是单一的应用程序通常也是被期望在一个时间来做多件事.例 ...
- [.NET] 《Effective C#》快速笔记 - C# 高效编程要点补充
<Effective C#>快速笔记 - C# 高效编程要点补充 目录 四十五.尽量减少装箱拆箱 四十六.为应用程序创建专门的异常类 四十七.使用强异常安全保证 四十八.尽量使用安全的代码 ...
- 【转载】漫谈C++:良好的编程习惯与编程要点
原文: 漫谈C++:良好的编程习惯与编程要点 阅读目录 以良好的方式编写C++ class Class with pointer member(s):记得写Big Three static与类 正文 ...
- 《Effective C#》快速笔记(六)- - C# 高效编程要点补充
目录 四十五.尽量减少装箱拆箱 四十六.为应用程序创建专门的异常类 四十七.使用强异常安全保证 四十八.尽量使用安全的代码 四十九.实现与 CLS 兼容的程序集 五十.实现小尺寸.高内聚的程序集 这是 ...
- VS2017 ATL创建ActiveX编程要点
VS2017 ATL创建ActiveX控件编程要点: 一.创建vs项目需要安装器visual studio installer中: 安装 visual studio扩展开发中的 用于x86和x64的V ...
- Essential Java.《Java 编程要点》
Essential Java.<Java 编程要点> Essential Java, is a book about the Essentials of Java Programming. ...
- 基础笔记(一):C#编程要点
前言 来源于手中日常摘录的资料和书籍,算是对看过的东西的总结,部分注有阅读心得,也有部分只提出大纲或结论.(备注:本篇文章中大部分要点需要有实际的开发经验,有助于阅读理解.) 目录 const ...
- 漫谈C++:良好的编程习惯与编程要点
以良好的方式编写C++ class 假设现在我们要实现一个复数类complex,在类的实现过程中探索良好的编程习惯. ① Header(头文件)中的防卫式声明 complex.h: # ifndef ...
- 漫谈C++:良好的编程习惯与编程要点(转载)
这个博主写的文章真是细腻,全面,严谨,应当多读几回 原文http://www.cnblogs.com/QG-whz/p/5517643.html 阅读目录 以良好的方式编写C++ class Clas ...
随机推荐
- 菜鸟之路——机器学习之Kmeans聚类个人理解及Python实现
一些概念 相关系数:衡量两组数据相关性 决定系数:(R2值)大概意思就是这个回归方程能解释百分之多少的真实值. Kmeans聚类大致就是选择K个中心点.不断遍历更新中心点的位置.离哪个中心点近就属于哪 ...
- SGX技术初探
一.SGX技术背景 1.1 SGX技术定义 SGX全称Intel Software Guard Extensions,顾名思义,其是对因特尔体系(IA)的一个扩展,用于增强软件的安全性.这种方式并不是 ...
- Spring Cloud Feign 简单入门
Feign是一个生命是的web service 客户端,使用方式非常简单:接口+注解,spring cloud feign 对feign惊醒了增强使它支持了spring mcv注解. 示例(以下示例结 ...
- C#从大图中截取一部分图片
#region 从大图中截取一部分图片 /// <summary> /// 从大图中截取一部分图片 /// </summary> /// <param name=&quo ...
- Func<T, TResult> 委托
Func<T, TResult> 委托 Visual Studio 2008 命名空间: System程序集: System.Core(在 System.Core.dll 中) 语 ...
- Python的生成器Generator小结
一. 生成器的介绍 在介绍生成器(Generator)之前,我们首先需要熟悉列表生成式,列表生成式是Python内置的简单又强大的用来创建列表的生成式. 举个例子, 如果我们想生成[1*1,2*2,3 ...
- Posix线程编程指南
Posix线程编程指南 Posix线程编程指南... 1 一线程创建与取消... 2 线程创建... 2 1.线程与进程... 2 2. 创建线程... 2 3. 线程创建属性... 2 4. 创建的 ...
- 觉醒力量 (hidpower)
觉醒力量 (hidpower) 题目描述 [题目背景] 从前有一款非常火的游戏被人们称为pokemon,从最初的红绿蓝黄版直到现在的XY版,都受到世界各地小朋友和大朋友们的喜爱. [题意描述] 作为一 ...
- pat 甲级 1010. Radix (25)
1010. Radix (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a pair of ...
- 记忆泛型约束where
原文发布时间为:2011-03-29 -- 来源于本人的百度文章 [由搬家工具导入] http://msdn.microsoft.com/en-us/library/d5x73970.aspx