Effective Objective-C
文章平均质量分 95
《Effective Objective-C》的学习
西邮郭富城
不要摆烂!不要摆烂!!不要摆烂!!!
展开
-
【Effective Objective-C】—— 系统框架
第47条:熟悉系统框架编写OC应用程序的时候我们几乎都会用到系统框架,其中提供了很多我们经常使用的类,并且我们使用的系统框架也是会随着官方的更新而更新的。将一系列代码封装为动态库,并在其中放入描述其接口的头文件,这样做出来的东西就叫框架。我们经常使用的就是Foundation框架,像NSObject、NSArray等等的类都在其中。这个框架中的类通常都是以NS前缀开头的,此前缀是在OC语言用作NeXTSTEP操作系统的编程语言时首度确定的,这个框架基本上就可以说是OC应用程序的基础了。还有个与Fou原创 2022-02-16 16:47:08 · 1251 阅读 · 0 评论 -
【Effective Objective-C】—— 块与大中枢派发
开发应用程序时,最糟糕的事莫过于程序因UI线程阻塞而挂起了,在iOS系统中,阻塞过久可能会使应用程序终止执行,所幸苹果公司以全新的方式设计了多线程,并且当前多线程的核心就是“块”与“大中枢派发”,“块”是一种可在C、C++及OC代码中使用的“词法闭包”,GCD是一种与块有关的技术,它提供了对线程的抽象,而这种抽象则基于“派发队列”。块与GCD都是当前OC编程的基石,因此,必须理解其工作原理及功能。第37条:理解“块”这一概念块可以实现闭包,并且其是作为“扩展”而加入GCD编译器中的。1.块的基础知识原创 2022-02-13 02:55:09 · 331 阅读 · 0 评论 -
【Effective Objective-C】—— 内存管理
第29条:理解引用计数OC使用引用计数来管理内存,也就是说,每个对象都有个可以递增或递减的计数器,如果某个对象引用他时就会给其引用计数加1,用完了之后,就递减其计数,直至为0,销毁这个对象。ARC实际上也是一种引用计数机制。1.引用计数工作原理:在引用计数架构下,对象有个计数器,用以表示当前有多少个事物想令此对象继续存活下去。NSObject协议声明了下面三个方法用于操作计数器:Retain 递增保留计数release 递减保留计数autorelease 待稍后清理“自动释放池”时,再递减原创 2022-01-25 14:41:28 · 2165 阅读 · 0 评论 -
【Effective Objective-C】—— 协议与分类
第23条:通过委托与数据源协议进行对象间通信1.委托模式:“委托模式”也就是我们通常说的代理,它是用来实现对象间的通信的,也就是传递数据。它的主旨是:定义一套接口,某对象若想接受另一个对象的委托,则需遵从此接口,以便成为其“委托对象”。而这“另一个对象”则可以给其委托对象回传一些信息,也可以在发生相关事件时通知委托对象。想必大家都很清楚委托了,这里也就不再过多赘述了。...原创 2022-01-20 17:03:05 · 2289 阅读 · 0 评论 -
【Effective Objective-C】—— 接口与API设计
第15条:用前缀避免命名空间冲突因为OC中没有其他语言那种内置的命名空间机制,所以我们在对文件命名时要十分的注意,若是发生重名冲突,那么应用程序相应的链接过程就会出错,导致运行文件不知道究竟该调用那个文件,因为其中出现了重复的符号。例如:这给错误就是因为something.o和something_else.o中都出现了各自实现的EOCTheClass类,导致编译器无法识别,而出错了。当然,不仅仅是类文件中可能出现这种错误,程序库中也可能出现这种错误,所以为了避免这种错误,我们唯一的办法就是自己手动的原创 2022-01-17 22:22:27 · 2256 阅读 · 0 评论 -
【Effective Objective-C】—— 对象、消息、运行期
用OC等面向对象语言编程时,“对象”就是“基本构造单元”,开发者可以通过对象来存储并传递数据。对象之间传递数据并执行任务的过程就叫做“消息传递”。其实“对象”就可以理解为每个文件,“消息传递”就是文件之间的传递。第6条:理解“属性”这一概念“属性”是OC的一项特性,用于封装对象中的数据。OC对象通常会把其需要的数据保存为各种实例变量。实例变量通过“存取方法”来访问。其中,“获取方法”用于读取变量值,而“设置方法”用于写入变量值。1.编译器是怎么存储实例变量的:通常我们在写一个类时,其中的各种设置方法原创 2022-01-15 13:07:47 · 948 阅读 · 0 评论 -
【Effective Objective-C】—— 熟悉Objective-C
一、了解Objective-C语言的起源Objective-C语言由Smalltalk1演化而来的,Smalltalk是消息型语言的鼻祖,所以OC使用的是“消息结构”(messaging structure)而非“函数调用”(function calling)。1.消息与函数调用之间的区别://Messaging(Objevtive-C)Object *obj = [Object new];[obj performWith:parameter1 and:parameter2];//Functi原创 2022-01-11 21:06:01 · 849 阅读 · 0 评论