@import url(http://www.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); nil:指向oc中对象的空指针 Nil:指向oc中类 ...
我们知道在 Objective C 中给 nil 发送消息程序不会崩溃, Objective C 是以 C 语言为基础的, PC 上,在 C 语言中对空指针进行操作, 程序会由于越界访问而出现保护错进而崩溃, 但是 Objective C 中为什么不会崩溃呢 原因需要从源代码中寻找, 下面是 objc msgSend 的 arm 版汇编代码片段: 在 arm 的函数调用过程中, 一般用 r r 传 ...
2012-12-17 23:20 3 2105 推荐指数:
@import url(http://www.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); nil:指向oc中对象的空指针 Nil:指向oc中类 ...
转载链接:Objective-C 消息发送与转发机制原理 文章目录 1. 八面玲珑的 objc_msgSend 1.1. 源码解析 1.2. 为什么使用汇编语言 2. 使用 lookUpImpOrForward ...
Objective-C中的hasPrefix hasPrefix:方法的功能是判断创建的字符串内容是否以某个字符开始,其语法形式如下: -(BOOL)hasPrefix:(NSString*)aString; 运行结果如下: 2013-03-1918 ...
++、Java、Objective-C这样的静态语言,Ruby、Python这样的动态语言都是面向对象的语 ...
各种语言都有些传递函数的方法:C语言中可以使用函数指针,C++中有函数引用、仿函数和lambda,Objective-C里也有选择器(selector)和block。不过由于iOS SDK中的大部分API都是selector的方式,所以本文就重点讲述selector了。Objective-C和我 ...
数组越界其实是很基本的问题,但是解决起来除了count的判断,还有每个调用的时候都要去判断一遍 对于不明确的数据总会有崩溃的风险 然而 每次调用都判断 那是太累了 so 。。runtime&category提供了一个比较简洁的解决方案 首先把NSArray ...
从开始学的NSString *name=[[NSString alloc] init] 起,仅仅这句话是分配内存空间,一直在用,从来没考虑过它的内部是怎么实现的。今天无意中看到了这一句代码: ...
NSArray的一些用法 NSArray只允许装OC对象,并且不能装空值,空代表数组元素的结束 使用block 块遍历整个数组 这个block 需要三个参数: id obj 表示数组中的元素 NSUInteger idx 标示元素的下标 boolbool ...