Category在我们的代码中其实可以有很普遍的应用,只是很多人并没有感觉到它的优势,现在我就只讲一点,关于Category的用法:
我们通常定义变量和声明方法的时候,喜欢把这些东西写到.h文件中去;这样其实就造成一个不好的效果,别人是可以看到你的变量和方法的,当然,一般情况,写在.h文件里并没有什么大得问题,不过有时候,如果你不想别人知道你定义的变量和方法,就可以用Category来满足你的隐私欲;只需要在.m文件写一个Category,把你所有的变量和方法写到Category里面,跟写到头文件里没有一点的不同;
@interface ViewController (这里可以为空或者写上Category的名字)
{
NSString *str = _name;
}
@property (strong, nonatomic) EAGLContext *context;
@property (nonatomic,retain) NSString* documentsPath;
@property (nonatomic,retain) NSString* bundlePath;
@property (nonatomic,retain) NSMutableArray* touches;
@property (nonatomic,retain) AudioEngine* audioEngine;
@property (nonatomic,retain) iCadeReaderView *iCadeView;
@end
上面这个就是载入在类里面的Category,当然,人们都习惯从新去建一个Category,去写一些私有的方法,不过说实在的,在.m文件里写方法是完全没有问题的,除非你觉得写的很乱;