HScroller Demo 分享
最近在github上分享了个demo,git@github.com:SolaCode/HScroller.git,主要实现的功能就是类似优酷首页上方自动侧滑控件。
最近在github上分享了个demo,git@github.com:SolaCode/HScroller.git,主要实现的功能就是类似优酷首页上方自动侧滑控件。
[ receiver message ];
objective-c的这种语法被苹果称为“发消息”。与其他面向对象语言(C++/Java)的“方法调用”不同,objc的消息机制是由运行时实现、非常灵活动态。这篇文章简单记录一下objc运行时对于消息发送和转发的实现。
这里主要涉及到两个函数objc_msgSend()函数和_objc_msgForward()函数。
我们都知道weak表示的是一个弱引用,这个引用不会增加对象的引用计数,并且在所指向的对象被释放之后,weak指针会被设置的为nil。weak引用通常是用于处理循环引用的问题,如代理及block的使用中,相对会较多的使用到weak。
之前对weak的实现略有了解,知道它的一个基本的生命周期,但具体是怎么实现的,了解得不是太清晰。今天又翻了翻《Objective-C高级编程》关于__weak的讲解,在此做个笔记。
There are a number of data types in the Core Foundation framework and the Foundation framework that can be used interchangeably. This capability, called toll-free bridging, means that you can use the same data type as the parameter to a Core Foundation function call or as the receiver of an Objective-C message.
ARC就是代码中自动加入了retain/release,原先需要手动添加的用来处理内存管理的引用计数的代码可以自动地由编译器完成了。所以,ARC是编译器(时)特性,而不是运行时特性,更不是垃圾回收器(GC)。
在 iOS 5/ Mac OS X 10.7 开始导入ARC(自动引用计数)机制,利用 Xcode4.2 可以使用,所以我们现在开发时大多都会依赖ARC来管理内存,确实省去了很多手动管理内存的麻烦,重要的是但是!
细心的人会发现,在很多程序员招聘要求上会有代码规范这一要求,刚开始可能认为这个要求很容易达到,但其实细想,这并不是一个简单地要求。
一开始,我仅仅只以能实现功能为主要目的,其他细节一概不管,但是注意到招聘要求的细节后仔细想过,在公司,自己的代码要给很多人看,所以做到代码清晰简洁、方便阅读理解很重要。
通过前两篇的基础概念学习和习题练习,已经知道:runTime是Objective-C作为动态语言的保障。仅仅知道这些还不够,今天就来刨根问底!