// Create By 郭仔 2015年3月28日9:34:04
分类是OC特有的属性。应用场景:为类库中的类扩从方法
下面通过两个实例来说明:
1.给NSString增加一个类方法:计算某个字符串中阿拉伯数字的个数
NSString+Number.h文件中内容:
+ (int)numberCountOfString:(NSString *)str;
NSString+Number.m文件中内容:
+ (int)numberCountOfString:(NSString *)str
{
int cout = 0;
for(int i = 0,i<=str.length;i ++)
{
unichar c = [str characterAtIndex:i]; // 取单个字符方法
if(c>='0' && c<='9')
{
count ++;
}
}
return count;
}
mian.m中内容:
{
// 这是利用类方法调用,而不是直接利用类对象调用,不符合面向对象的设计
int count = [NSString numberCountOfString:@"dkj45sd324sd"];
NSlog(@"%d",count);
return 0;
}
2.利用对象方面实现上述功能:
主要代码如下:
- (int)numberCount
{
int count = 0;
for(int i = 0;i<self.length;i++)
{
unichar c = [self characterAtIndex:i];
if(c>='0' && c<='9')
count++;
}
return count
}
main.m
int count = [@"889fdd6dfa6" numberCount];
NSLog(@"%d",count);
分类是OC特有的属性。应用场景:为类库中的类扩从方法
下面通过两个实例来说明:
1.给NSString增加一个类方法:计算某个字符串中阿拉伯数字的个数
NSString+Number.h文件中内容:
+ (int)numberCountOfString:(NSString *)str;
NSString+Number.m文件中内容:
+ (int)numberCountOfString:(NSString *)str
{
int cout = 0;
for(int i = 0,i<=str.length;i ++)
{
unichar c = [str characterAtIndex:i]; // 取单个字符方法
if(c>='0' && c<='9')
{
count ++;
}
}
return count;
}
mian.m中内容:
{
// 这是利用类方法调用,而不是直接利用类对象调用,不符合面向对象的设计
int count = [NSString numberCountOfString:@"dkj45sd324sd"];
NSlog(@"%d",count);
return 0;
}
2.利用对象方面实现上述功能:
主要代码如下:
- (int)numberCount
{
int count = 0;
for(int i = 0;i<self.length;i++)
{
unichar c = [self characterAtIndex:i];
if(c>='0' && c<='9')
count++;
}
return count
}
main.m
int count = [@"889fdd6dfa6" numberCount];
NSLog(@"%d",count);
本文详细介绍了如何使用Objective-C扩展NSString类的功能,通过添加类方法计算字符串中阿拉伯数字的个数,并提供了两种实现方式:一种是通过类方法直接调用,另一种是通过对象方法实现,展示了面向对象设计原则的应用。
3312

被折叠的 条评论
为什么被折叠?



