IOS开发之关键字category详解
2012-03-29 11:30
363 查看
一:在用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;
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详解
- **IOS开发之关键字category(类别)详解**
- IOS开发之关键字category详解
- IOS开发之关键字category详解
- iOS开发:Category的具体使用详解
- iOS开发学习之关键字Typedef的用法详解
- iOS开发 -- UILable详解
- IOS入门3--iOS开发中属性最常用的关键字及其定义
- iOS开发中,搜索结果与搜索关键字匹配的位置变色
- 【iOS】Category VS Extension 原理详解
- iOS 开发 网络编程详解之基本网络通信过程
- iOS 开发之照片框架详解
- iOS 开发 数据库详解之FMDB
- 【iOS 开发】Object-C 入门 Xcode 环境详解
- 【iOS开发必收藏】详解iOS应用程序内使用IAP/StoreKit付费、沙盒(SandBox)测试、创建测试账号流程!
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- IOS 入门开发之使用Xcode4制作静态库详解(五)
- IOS开发之深拷贝与浅拷贝(mutableCopy与Copy)详解
- iOS开发--HTTP Header 详解
- 详解iOS开发 - 用AFNetworking实现https单向验证,双向验证