Effective Objective-C 2.0
twlssl
这个作者很懒,什么都没留下…
展开
-
编写高质量iOS和OS X代码的52个有效方法(笔记一)
第1条:了解Objective-C语言的起源Objective-C为C语言添加了面向对象特性,是其超集。Objective-C使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型。接收一条消息之后,究竟应执行何种代码,由运行期环境而非编译器来决定。理解C语言的核心概念有助于写好Objective-C程序。尤其要掌握内存模型与指针。第2条:在类的头文件中尽量少引入其他文件原创 2015-03-30 11:32:58 · 517 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记七)
第47条:熟悉系统框架许多系统框架都可以直接使用。其中最重要的是Foundation与CoreFoundation,这两个框架提供了构建应用程序所需的许多核心功能。很多常见任务都能用框架来做,例如音频与视频处理、网络通信、数据管理等请记住:用纯C写成的框架与用Objective-C写成的一样重要,若想成为优秀的Objective-C开发者,应该掌握C语言的核心概念第48条:多用原创 2015-03-30 16:51:23 · 483 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记三)
第15条:用前缀避免命名空间冲突选择与你公司、应用程序或二者皆有关联之名称作为类名的前缀,并在所有代码中均使用这一前缀若自己所开发的程序库中用到了第三方库,则应为其中的名称加上前缀第16条:提供“全能初始化方法”在类中提供一个全能初始化方法,并于文档里指明。其他初始化方法均应调用此方法若全能初始化方法与超类不同,则需覆盖写超类中对应方法如果超类的初始化方法不适用于子类,原创 2015-03-30 15:11:01 · 441 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记四)
第23条:通过委托与数据源协议进行对象间通信委托模式为对象提供了一套接口,使其可由此将相关事件告知其他对象将委托对象应该支持的接口定义成协议,在协议中把可能需要处理的事情定义成方法当某对象需要从另外一个对象中获取数据时,可以使用委托模式。这种情境下,该模式亦称“数据源协议”(data source protocal)若有必要,可实现含有段位的结构体,将委托对象是否能响应相关协议方法这一原创 2015-03-30 15:39:24 · 947 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记五)
第29条:理解引用计数引用计数机制通过可以递增递减的计数器来管理内存。对象创建好之后,其保留计数至少为1。若保留计数为正,则对象继续存活。当保留计数降为0时,对象就被销毁了在对象生命期中,其余对象通过引用来保留或释放此对象。保留与释放操作分别会递增保留计数第30条:已ARC简化引用计数有ARC之后,程序员就无须担心内存管理问题了。使用ARC来编程,可省去类中的许多“原创 2015-03-30 15:43:34 · 332 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记二)
第6条:理解“属性”这一概念可以用@property语法来定义对象中所封装的数据通过“特质”来指定存储数据所需的正确语义在设置属性所对应的实例变量时,一定要遵从该属性所声明的语义开发iOS程序时应该使用nonatomic属性,因为atomic属性会严重影响性能第7条:在对象内部尽量直接访问实例变量在对象内部读取数据时,应该直接通过实例变量来读,而写入数据时,则应该通过属原创 2015-03-30 13:57:16 · 421 阅读 · 0 评论 -
编写高质量iOS和OS X代码的52个有效方法(笔记六)
第37条:理解“块”这一概念块是C、C++、Objective-C中的词法闭包块可接受参数,也可返回值块可以分配在栈或堆上,也可以是全局的。分配在栈上的块可拷贝到堆里,这样的话,就和标准的Objective-C对象一样,具备引用计数了第38条:为常用的块类型创建typedef以typedef重新定义块类型,可令块变量用起来更加简单定义新类型时应遵从现在有的命名习惯,原创 2015-03-30 16:15:25 · 327 阅读 · 0 评论