#pragma mark - 类别是对原有类进行扩展
NSString+FilePath.h —>类名+类别名.h/m
/*
类别(Category)的三大作用:
1.扩展类的方法(类别不是一个新的类,是对原有类的扩展,不会破坏原有类的内部结构,可以扩展类方法和实例方法)
2.分散类的实现(把一个类的方法按功能分类)
3.扩展类原有的方法(建议不要扩展----因为我们的类别中的扩展方法具有更高的优先级,它会导致super层断裂)(平级)
*/
#import
@interface NSString (FilePath){
//类别不能扩充实例变量
//int count;
}
//类别可以扩展属性,但是不会自动的生成set和get方法,要重写set和get方法
//使用类别不会使用扩展属性的功能(需要动态绑定)
//@property (nonatomic, strong) NSString *name;
.m
//@dynamic name;
//
//- (void)setName:(NSString *)name {
// name = name;
//}
//
//- (NSString *)name {
// return self.name;
//}
//同样的功能既可以用实例方法也可以用类方法
//扩展实例方法
- (NSString*)getFilePath;
//扩展类方法
+ (NSString*)getPath;
//////////2/////
@interface People :NSObject
//人可以说话
- (void)speaking;
@end
@implementation People
- (void)speaking {
NSLog(@"人具有说话的能力");
}
@end
//扩展原有类的方法(不建议)
- (void)speaking {
NSLog(@"不许讲话");
}
@end