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;

相关文章推荐

IOS开发中的各种Category

  • 2015年04月24日 16:11
  • 282KB
  • 下载

iOS开发:Category的具体使用详解

Category,类别也叫分类,是一种不需要继承就可以给类添加方法的技术,其主要作用就是给已经创建的存在的类添加方法(给系统自带的类扩展方法),而不需要增加一个子类。并且,我们可以在不知道已经创建的某...
  • CC1991_
  • CC1991_
  • 2017年05月15日 15:52
  • 215

黑马程序员_iOS开发之OC之面向对象之id语法、构造方法、@category分类、类本质、description方法和SEL数据类型

1、id语法

[iOS开发必备知识之] Category & Protocol

本文来源:http://devnote.me/page/4/ http://blog.codingmylife.com/?p=41 Categories 1 2...

IOS开发之----Category的使用

无论一个类设计的如何完美,都不可避免的会遇到没有预测到的需求,那怎么扩展现有的类呢?当然,继承是个不错的选择。但是Objective-C提供了一种特别的方式来扩展类,叫Category,可以动态的为已...

iOS开发之category动态添加属性的方法------关联

本文转载自:http://www.cnblogs.com/wengzilin/p/4331685.html?utm_source=tuicool  编程小翁@博客园,邮件zilin_weng@163....

IOS开发基础Object-C(11)—Category语法

谢天谢地,糟心的内存管理终于讲完了,我们的OC内存管理也就先告一段落了,以后还是需要多联系多理解,记住,理解最重要。 今天呢,我们再来讲一个很重要的语法——Category,根据字面的意思呢就是种类分...

芒果iOS开发之Xcode8控制台输出警告:subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0

subsystem: com.apple.UIKit, category: HIDEventFiltered, enable_level: 0, persist_level: 0, default_t...

iOS开发-Day16-OC复合&class关键字

为什么需要复合: 某一个复杂的类,需要由多个不同的部分组成,比如电脑需要由主机键盘显示器组成,这时候就可以用到复合,将部分作为主体的实例变量 复合和继承 继承是“is A”关系;复合是“has A...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS开发之关键字category详解
举报原因:
原因补充:

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