-
Effective Objective-C 2.0(第7章)
编写高质量iOS与OS X代码的52个有效方法第7章 系统框架47.熟悉系统框架将一系列代码封装为动态库(dynamic library),并在其中放入描述其接口的头文件,这样做出来的东西就叫框架。有时为iOS平台构建的第三方框架所使用的是静态库(static library),这是因为iOS应用程序不允许在其中包含动态库。这些东西严格来讲并不是真正的框架,然而也经常视为框架。不过,所有iOS平台 …
-
Effective Objective-C 2.0(第6章)
编写高质量iOS与OS X代码的52个有效方法第6章 块与大中枢派发37.理解“块”这一概念 块是C、C++、Objective-C 中的词法闭包。 块可接受参数,也可返回值。 块可以分配在栈或堆上,也可以是全局的。分配在栈上的块可拷贝到堆里,这样的话,就和标准的 Objective-C 对象一样,具备引用计数了。 38.为常用的块类型创建 typedef 以typedef重新定义块类型,可令块 …
-
Effective Objective-C 2.0(第5章)
编写高质量iOS与OS X代码的52个有效方法第5章 内存管理29.理解引用计数 引用计数机制通过可以递增递减的计数器来管理内存。对象创建好之后,其保留计数至少为1。若保留计数为正,则对象继续存活。当保留计数降为0时,对象就被销毁了。 在对象的生命周期中,其余对象通过引用来保留或释放此对象。保留与释放操作分别会递增及递减保留计数。 30.以ARC简化引用计数 有ARC之后,程序员就无须担心内存管 …
-
Effective Objective-C 2.0(第4章)
编写高质量iOS与OS X代码的52个有效方法第4章 协议与分类23.通过委托与数据源协议进行对象间通信 委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象。 将委托对象应该支持的接口定义成协议,在协议中把可能需要处理的事件定义成方法。 当某对象需要从另外一个对象中获取数据时,可以使用委托模式。这种情境下,该模式亦称“数据源协议”(data source protocal)。 若有必要 …
-
Effective Objective-C 2.0(第3章)
编写高质量iOS与OS X代码的52个有效方法第3章 接口与API设计15.用前缀避免命名空间冲突 选择与你的公司、应用程序或者二者皆有关联之名作为类名的前缀,并在所有代码中均使用这一前缀。 若自己所开发的程序库中用到了第三方库,则应为其中的名称加上前缀。 16.提供“全能初始化方法” 在类中提供一个全能初始化方法,并于文档里指明。其他初始化方法均应调用此方法。 若全能初始化方法与超类不同,则需 …
-
Effective Objective-C 2.0(第2章)
编写高质量iOS与OS X代码的52个有效方法第2章 对象、消息、运行期6.理解“属性”这一概念使用属性,编译器会自动编写访问这些属性所需要的方法,这个过程由编译器在编译期执行。除了生成方法代码外,编译器还会自动向类中添加适当类型的实例变量,并且在属性名前面加下划线。 可以使用 @synthesize 语法来指定实例变量的名字。 @dynamic 关键字会告诉编译器:不要自动创建实现属性所用的实例 …
-
Effective Objective-C 2.0(第1章)
编写高质量iOS与OS X代码的52个有效方法第1章 熟悉Objective-C1.了解Objective-C 语言的起源Objective-C使用消息结构messaging structure,而非函数调用function calling。消息结构:运行时所运行的代码是由运行环境决定的。运行时才会去查找所要执行的方法。函数调用:编译器决定。Objective-C是C语言的超集,使用动态绑定的消息 …