一、委托初窥:一个拥有方法的对象 (1)本质:持有一个或多个方法的对象;委托和典型的对象不同,执行委托实际上是执行它所“持有”的方法。 (2)如何使用委托? ①声明委托类型(delegate关键字) ②使用该委托类型声明一个委托变量 ③为委托类型增加方法 ④调用委托执行方法 (3)委托的恒定性: 组 ...
分类:
Web程序 时间:
2016-08-02 00:48:07
阅读次数:
199
Objective
C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表、属性列表、变量列表,修改方法、属性,增加方法,属性等等,本文对相关的几个要点做了一个小结。
(1)在运行时对函数进行动态替换 : class_replaceMethod
使用该函数可以在运行时动态替换某个类的函数实现,这样做有什么用呢?最起码,可以实现类似win...
分类:
其他好文 时间:
2016-07-16 11:49:00
阅读次数:
269
Category 引入 在日常的开发中,可能会碰到这样的需求:给某个类增加方法。比如说,需要给NSString类增加一个打印的方法。当然,我们可以新建一个类比如TestString,并继承NSString类,在新的类TestString中实现 displayString方法。但是,这种方法有一个明显 ...
分类:
其他好文 时间:
2016-07-10 16:58:42
阅读次数:
129
输入logt+回车 自动增加Tag的定义。 private static final String TAG = "MainActivity"; 输入logd+回车 自动增加d级别的日志输出代码 输入logm+回车 自动增加方法参数的值得输出打印代码 ...
分类:
移动开发 时间:
2016-05-19 23:19:21
阅读次数:
214
Category (分类、类别) 分类只能增加方法不能增加成员变量,可以声明属性,实际上会生成属性的set和get方法,但不会生成带下划线的成员变量,也不能添加成员变量(可以在不修改原来类模型的基础上拓充方法) inheritance 》继承可以扩充成员变量和方法 但会产生新的类 extension ...
分类:
移动开发 时间:
2016-05-09 20:16:34
阅读次数:
216
1 概述
在一个项目中,你会有非常多的因素考虑不到,特别是业务的变更,不时的冒出一个需求是很正常的情况。有三个继承关系的类:Father、Son、GrandSon,我们要在Son类上增强一些功能怎么办?给Son类增加方法吗?那对GrandSon的影响呢?特别是对GrandSon有多个的情况,你会怎么办?认真看完本文,你会找到你的答案。
JavaIO中,像下面的嵌套语句是不是很常见,为什么要怎样...
分类:
编程语言 时间:
2016-05-07 07:35:18
阅读次数:
227
分类 类扩展 继承 协议 委托 分类(Category) 不产生新类,不修改原类,但有自己的.h和.m文件 分类只能向原类中增加方法,或者重写原类的方法 声明的@property只会生成getter setter方法的声明 类.h中定义的方法必须实现,但分类.h中定义的方法,可以不实现 同名方法,分 ...
分类:
其他好文 时间:
2016-05-03 23:52:15
阅读次数:
229
Objective C的runtime技术功能非常强大,能够在运行时获取并修改类的各种信息,包括获取方法列表、属性列表、变量列表,修改方法、属性,增加方法,属性等等,本文对相关的几个要点做了一个小结。 目录: (1)使用class_replaceMethod/class_addMethod函数在运行 ...
分类:
其他好文 时间:
2016-04-28 11:53:57
阅读次数:
232
category: 向现有的类中增加方法,同时提供方法的实现,现有类不需要做任何改动。 protocol:(相当于Java或C#中的接口interface,当很多类都要需要类似的方法,但是方法具体实现因类的不同而不同的时候,需要用到protocol或interface,C++中不需要interfac ...
分类:
移动开发 时间:
2016-04-06 00:28:43
阅读次数:
275
在声明中使用关键字 let :声明一个常量 var :声明一个变量 class :声明一个类 static :静态的 deinit :反初始化方法?析构方法 init :构造方法?初始化方法 enum :枚举 extension :扩展 给对象增加方法 func :声明一个函数 import :导入 ...
分类:
编程语言 时间:
2016-04-02 22:48:51
阅读次数:
403