1.在Block结构体中含有isa指针,这就证明了Block其实就是对象,并具有一般对象的所有功能。2.Block是OC中的一种数据类型,在iOS开发中被广泛使用。3.block的应用(1)遍历数组或者字典(2)视图动画(3)排序(4)通知(5)错误处理(6)多线程(7)封装变化点4.闭包就是能够读...
分类:
其他好文 时间:
2015-12-30 15:28:57
阅读次数:
166
每个Objective-C对象都有一个隐藏的数据结构,这个数据结构是Objective-C对象的第一个成员变量,它就是isa指针。在NSObject.h里面:@interface NSObject { Class isa OBJC_ISA_AVAILABILITY;}再点开 Class 的定义:.....
分类:
其他好文 时间:
2015-12-27 17:49:33
阅读次数:
213
在知乎上找到一个关于CTF入门的回答,答主很专业的给出了建议和一些对应的训练平台,这里我试了试几个,自己半吊子水平,只能玩一些简单的,这里把自己做的过程记录下来,这几个基本都能查到通关秘籍(我是怎么知道的?没错我太渣没法通关去查秘籍了),我写下来只当是自己的备..
分类:
Web程序 时间:
2015-12-22 06:35:46
阅读次数:
218
什么是KVO和KVC,它们的区别,举一个你用过的例子?KVC(Key-Value-Coding)内部的实现:一个对象在调用setValue的时候,(1)首先根据方法名找到运行方法的时候所需要的环境参数。(2)他会从自己isa指针结合环境参数,找到具体的方法实现的接口。(3)再直接查找得来的具体的方法...
分类:
移动开发 时间:
2015-12-17 22:23:43
阅读次数:
271
NSObject中的实例isa 用于标示实例对象属于哪个类对象。1、isa是一个结构体指针*、-(Class) class 返回消息接受者所属类的类对象。2、+ (Class) class 是一个自描述对象, 返回类对象3、- (self) 代表当前对象自己 返回接受者自己4、 -(BOOL)i.....
分类:
其他好文 时间:
2015-12-12 15:31:15
阅读次数:
130
oc中NSObject类是所有类的基类,所有类都要继承自它,那么它的方法就显得特别重要,因为所有类都会有这些基本的方法.看看oc的源码中NSObject是这样定义的:@interface NSObject { Class isa OBJC_ISA_AVAILABILITY;}可以看出,它实...
分类:
移动开发 时间:
2015-12-10 16:38:09
阅读次数:
187
对象的存储细节函数与方法对比常见错误对象的存储细节本小节知识点对象的存储细节isa指针使用一个类创建多个对象1.对象的存储细节类创建对象,每个对象在内存中都占据一定的存储空间,每个对象都有一份属于自己的单独的成员变量,所有的对象公用类的成员方法,方法在整个内存中只有一份,类本身在内存中占据一份存储空...
分类:
其他好文 时间:
2015-12-03 00:15:51
阅读次数:
148
Block实现原理首先探究下Block的实现原理,由于Objective-C是C语言的超集,既然OC中的NSObject对象其实是由C语言的struct+isa指针实现的,那么Block的内部实现估计也一样,以下三篇Blog对Block的实现机制做了详细研究:A look inside blocks...
分类:
其他好文 时间:
2015-11-12 23:39:49
阅读次数:
378
id简介万能指针,能指向任何OC对象,相当于NSObject *id类型的定义typedef struct objc_object { Class isa;} *id;使用// 注意:id后面不要加上*id p = [Person new];局限性调用一个不存在的方法,编译器会马上报错构造方法...
分类:
其他好文 时间:
2015-11-10 20:49:14
阅读次数:
206
程序编码在Unix机上使用命令编译代码优化编译的等级越高,编译时间越长,程序性能越高机器级代码对于机器级编程,两种抽象尤为重要第一种机器级程序的格式和行为(ISA指令集体系结构)第二种机器级程序使用的存储器地址是虚拟地址机器级代码把存储器看成一大块数组罢了汇编代码案例其中CPU主要包含以下几个对象程...
分类:
其他好文 时间:
2015-11-08 22:14:51
阅读次数:
305