类别有三大作用:1 可以使本来需要在.h中声明的方法放到.m文件中声明,使方法变成私有。 2 可以扩展或覆盖一个类的功能,包括系统类,维护了代码原本的结构不受影响。3 可以分散代码到不同的文件之中,比如系统类库里有一个NSObject的类别,并没有写在NSObject类里,而写到另外一个类里,主要是因为这个类别扩展的功能跟那个类相关,便于将来查看。
举例:如何让一个导航条加一个背景图。
以下“自定义的类别”就是针对 UINavigationBar系统类的,覆盖了其系统方法 (void) drawRect:(CGRect)rect,将来导航栏显示的时,方法 drawRect会自动调用,达到把图片显示到导航栏中.
@interfaceUINavigationBar (MyCustomNavBar)
@end
@implementation UINavigationBar (MyCustomNavBar)
- (void)drawRect:(CGRect)rect {
UIImage *barImage = [UIImageimageNamed:@"nav11.png"];
[barImage drawInRect:rect];
}
@end
时间: 2024-10-12 20:21:05