IOS开发之关键字category详解

转载 2013年12月03日 10:25:43

一:在用C++开发的时候我们可以轻松的用继承组合为已有类添加新的方法,扩展已有的类。但是在object-c中我们给已有的类添加新的方法则更加方便,那么这是我们需要用到一个特有的属性category,但是我们再用category的时候应该有两点要注意:

1:if向已有的类添加新的方法名与已有的方法名相同,则会覆盖已有的类(相当于重写方法),这样不能够访问之前的方法;

例如我们希望希望对NSArray添加一个排序的方法,希望将如下的数组从小到达排列

 NSArray *arr = [NSArrayarrayWithObjects:@"12",@"111"@"2"@"67",@"45"@"80"nil];

@interface NSArray (sortSuppot)

- (NSArray *) sortArrayByThisMod:(NSArray *)array;

@end


@implementation NSArray (sortSupport)

- (NSArray *) sortArrayByThisMod:(NSArray *)array {

//具体的实现方法

}

@end

2:只能向已有的类添加方法,不能添加属性(变量);

但是我们可以用继承给已有的类添加新的属性变量

@interface NSAddArray : NSArray {

NSobject *obj;

}

- (id)doSomething:(NSObject *)obj;

Oracle 关键字(保留字) 大全

Oracle 关键字(保留字) 大全 其实这个东西可以在oracle 上输入一个sql语句就可以得到: select * from v$reserved_words order by keywor...
  • pingyan158
  • pingyan158
  • 2013年01月31日 14:00
  • 24896

@dynamic关键字的作用

先引用一段apple的解释:   @dynamic   You use the@dynamic keyword to tell the compiler that you will ful...
  • kingkong1024
  • kingkong1024
  • 2013年02月18日 15:28
  • 6081

C语言关键字详解

c的关键字共32个  *数据类型关键字(12)  char,short,int,long,float,double,unsigned,signed,union,enum,void,struct ...
  • hanbo622
  • hanbo622
  • 2014年09月10日 16:09
  • 4461

iOS category内部实现原理

转载自:http://tech.meituan.com/DiveIntoCategory.html 摘要 无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那...
  • a316212802
  • a316212802
  • 2015年11月17日 22:28
  • 8566

C++关键字详解

C/C++中的关键字 C/C++中的关键字如下:   注:上表中为C++98/03中的63个关键字,其中红色标注为C语言中的32个关键字。C++11中有73个关键字,新增加的...
  • scmuzi18
  • scmuzi18
  • 2016年12月16日 18:53
  • 6875

Java 关键字this详解

在整个Java中,只要是代码开发,几乎都离不开this。在Java中this可以完成三件事情:表示本类属性、表示本类方法、当前对象。一、“this.属性”表示本类属性讲解之前,我们先看一段代码:pac...
  • wei_zhi
  • wei_zhi
  • 2016年10月09日 11:52
  • 1618

this关键字详解

自己之前学习Java的
  • mtx_20103276
  • mtx_20103276
  • 2014年06月08日 19:28
  • 2821

Dockerfile相关指令的的简要说明

Dockerfile中关键字的相关说明 Dockerfile中以#开头的行全为注释行FROM : 指定基础镜像MAINTAINER 指定维护者信息RUN 或 RUN ["executable...
  • xuguokun1986
  • xuguokun1986
  • 2016年12月12日 16:01
  • 467

Junit4.x高级用法详解(一)

Junit4.8+的高级用法,包含了常用了Junit的注解使用方法和例子的详解。 包含了:Junit的超时测试、参数测试、分类测试、Mock测试、异常测试、suite测试...
  • wanghantong
  • wanghantong
  • 2014年06月19日 13:47
  • 6621

Python with 关键字详解

在Python中with关键字很常用,相信你也经常遇见,例如: if isinstance(self.commands, str): with(settings(warn_only = Tr...
  • karchar
  • karchar
  • 2015年10月09日 20:22
  • 652
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS开发之关键字category详解
举报原因:
原因补充:

(最多只允许输入30个字)