IOS 类别与扩展的区别 (category & extensions)

类别

.h

@interface NSString(XXXXXX)

-(NSInteger)getLen;

@end

.m

@implementation NSString(XXXXXX)

 -(NSInteger)getLen

{

  return 0;

}

@end

////////////////////////////////////////////////////////////////////////////////////////////////////

扩展

.h

@interface ClassA

{

  NSString * a;

}

-(void)Info;

@end

.m

@interface ClassA

{

  NSString * b;

}

-(void)GetName;

@end

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

类别是对已有的某个类添加新的方法。

扩展是多新创建的类添加 变量或者方法(就是在.m文件里面进行添加)

原文地址:https://www.cnblogs.com/rollrock/p/3709527.html