黑马程序员_分类的使用

来源:互联网 发布:mac ps中文版破解版 编辑:程序博客网 时间:2024/06/04 15:48

------- IOS培训android培训、期待与您交流! ----------

category 分类,类别,类目

分类:在不修改原来类的基础上可以给一个类扩展一些方法

分类也有声明和实现,所以也分.h和.m文件。

分类的声明方法,就是在原来的基础上后面加上(category名称).如@interface Person (LL)

分类名称一般可以写人名或者功能模块名称

在使用分类的时候要在分类的头文件中加上要分类的头文件,并且在主函数中要使用分类那么就要在主函数文件中国包含分类的头文件


分类的好处:如果一个类过于庞大,可以将一个类进行分类,将不同功能模块的若干个方法放在一个分类中,这样便于管理,也便于与同事的交流.

分类使用的注意

在分类中指能增加方法,不能增加成员变量。在分类中可以访问原来类中声明的成员变量。

在分类中,如果声明了与原来类相同的方法,会覆盖原来类中的方法,不建议使用。

如果调用了一个方法,会优先去分类中,然后再去原来类中,最后再去自己父类中查找。

如果在两个分类中都定义了同一个与原来类中的相同的方法时,调用时会根据编译文件的顺序,来调用分类中的方法,因为最后编译的文件方法会覆盖先编译的文件的方法。


我们经常不会给自己的类添加方法,一般情况下我们是给系统自带的类增加方法。我们可以从网上down别人的分类,在文件包含分类的头文件,就可以使用别人的分类。

例子如下给字符串类增加统计数字个数的方法。

#import "NSString+number.h"@implementation NSString (number)+ (int)numberCountOfString:(NSString *)str{    int count =0;    for (int i=0; i<[str length]; i++) {                unichar c = [str characterAtIndex:i];        if(c<='9'&&c>='0')            count++;    }    return count; }






0 0
原创粉丝点击