关闭

IOS开发之关键字category详解

标签: iosinterface扩展c
5618人阅读 评论(0) 收藏 举报
分类:

一:在用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;





0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:822641次
    • 积分:6163
    • 等级:
    • 排名:第4032名
    • 原创:46篇
    • 转载:16篇
    • 译文:2篇
    • 评论:42条
    最新评论