Objective-C基调(4)Category】的更多相关文章

分类: 主要是给原来类增加一些方法;不可以增加成员变量 Person (Person+eat) 非正式协议: 非正式协议就是类别,即凡是NSObject或其子类Foundation框架中的类增加的类别,都是非正义协议 给NSObject写一个类别,NSObject 类名(eat),NSObject子类都可继承里面的方法 分类(category)延展 延展类别又称类的扩展:类扩展中可以声明属性 @interface Person()// 类扩展 { // 添加属性 int _age: } // 扩…
Automake是用来根据Makefile.am生成Makefile.in的工具 标准Makefile目标 'make all' Build programs, libraries, documentation, etc. (same as 'make'). 'make install' Install what needs to be installed, copying the files from the package's tree to system-wide directories.…
是第一篇: 1.Difference between shallow copy and deep copy?
浅复制和深复制的区别?
答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身.
深层复制:复制引用对象本身.
意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源
还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想…
1.Difference between shallow copy and deep copy?
浅复制和深复制的区别?
答案:浅层复制:只复制指向对象的指针,而不复制引用对象本身.
深层复制:复制引用对象本身.
意思就是说我有个A对象,复制一份后得到A_copy对象后,对于浅复制来说,A和A_copy指向的是同一个内存资源,复制的只不过是是一个指针,对象本身资源
还是只有一份,那如果我们对A_copy执行了修改操作,那么发现A引用的对象同样被修改,这其实违背了我们复制拷贝的一个思想.深复制就好…
面试题: 1__weak什么时候用 想要在block内部变外部变量需要加__weak或者__block 2.是否使用过coreImage和coreText?如果使用过,说说你的体验(答案在另一份) 3.什么是IP,HTTP,TCP.UDP等协议?他们分别属于第几层? IP属于网络层(第三层):TCP和UDP都属于传输层(第四层):HTTP属于应用层(第七层). IP协议保证计算机发送和接收分组数据,负责将消息从一个主机传送到另一个主机. HTTP协议是超文本传输协议,规定客户端和服务器之间的数据…
property的本质是实例变量 + getter 和 setter 方法 category和protocol可以添加方法 category 和 protocol中可以添加@property 关键字 所以,在protocol中添加property时,其实就是添加了 getter 和 setter 方法,在实现这个protocol的类中,我们要自己手动添加实例变量 例: @synthesize name = _name; //此行代码即添加了实例变量及实现了protocol中属性的getter.s…
OC它提供了一种不同的方式--Category,可以动态地添加新的行为已经存在的类(方法),这确保了较小的类的原始设计,然后逐渐加入扩展. 正在使用Category扩张的上课时间,你并不需要创建一个子类,Category使用简单的方法.实现类模块化的相关方法,类方法分配到不同的分类文件里. 以下我们通过三个分类样例来看一下怎样使用分类: 接着我们上一篇的代码,以下我们创建一个Student的Test分类.创建步骤例如以下: watermark/2/text/aHR0cDovL2Jsb2cuY3N…
NSString *str1 = @"字符串1"; NSString *str2 = @"字符串2"; //在同样条件下,Objective的字符串拼接 往往只有用 系统方法/格式化 //way 1 格式化 NSString *fullStr = [NSString stringWithFormat:@"%@%@",str1,str2]; //way 2 使用方法追加 NSString *fullStr = [str1 stringByAppen…
#import <objc/runtime.h> void setBeingRemoved(id __self, SEL _cmd) { NSLog(@"------------UNSELECT BY INVOKE."); } // Then these two lines: Class __class = NSClassFromString(@"WebActionDisablingCALayerDelegate"); class_addMethod(_…
http://chun.tips/blog/2014/11/05/bao-gen-wen-di-objective%5Bnil%5Dc-runtime-(2)%5Bnil%5D-object-and-class-and-meta-class/ 刨根问底Objective-C Runtime(1)- Self & Super 刨根问底Objective-C Runtime(2)- Object & Class & Meta Class 刨根问底Objective-C Runtime(…