OC语法--类目Category--类的延展

Xcode6增加category的方法:

New File 找到Objective-C File 点next

OC语法--类目Category--类的延展

然后选择Category 和要创建类的类目;

OC语法--类目Category--类的延展

类目

(1)在类目定义的方法,会成为原始类的一部分,与其他方法的调用没有区别;
(2)通过给父类定义类目方法,其子类也会继承这些方法。如果子类添加类目方法,父类则不会拥有子类的类目方法;
类目方法的应用
 (3)对现有类的扩展
(4)作为子类的代替手段
(5)对类中得方法归类(核心用途)
类目方法的局限性
无法向类目中,添加新的实例变量,类目没有位置来容纳实例变量,只能通过定义子类
如若,在类目中覆盖原始类的方法,这样会引起euoer消息的断裂,因为类目中的方法具有更高的优先级别。一般不覆盖现有类中方法。

类的延展
多用于定义私有方法:
类的延展就如同是 “匿名”的类目,延展中声明的方法在类的
@implementation和它对应的@end之间实现
类有时需要方法只有自己所见,我们可以通过延展的方式定义类的私有方法.m文件中声明(@implementation外用@interface Peron())并实现在 (@implementation内)。
.h文件

@interface NSString(Revert)
-(void)test;

@end
.m文件

#import”NSString+Revert"
@implementation NSString(Revert)
-(void)test
{
}
@end

也可以直接在类里写类目格式一样

;