1)给NSString类增加一个类方法,计算某个字符串对象中阿拉伯数字的个数;
(2)给NSString类增加一个对象方法,计算当前字符串对象中阿拉伯数字的个数;
#import <Foundation/Foundation.h>
@unterface NSString (NumberOfs)
+ (int)NumberOfString:(NSString *)str;
- (int)NumberCount;
@end
@implementation NSString (NumberOfs)
+ (int)NumberOfString (NSString *)str
{
int count=0;
for(int i=0;i<str.length;i++)
{
unichar c=[str characterAtIndex:i];
if(c>='0'&&c<='9')
{
count++;
}
return count;
}
}
- (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;
}
@end
#import <Foundation/Foundation.h>
#import "NSString+NumberOfs.h"
int main()
{
int a=[NSString NumberOfString:@"ac2578bas"];
NSLog(@"%d",a);
int b=[@"abc12578kk" NumberCount];
NSLog(@"%d",b);
return 0;
}
这里我有两点问题:
第一
类方法中 i<str.length
我能理解
但是
对象方法中 i<self.length 为什么用self啊 ,self是代表后来输入的OC字符串吗,因为没有先定义OC字符串变量采用的self吗?
第二
main函数中 int b=[@"abc12578kk" NumberCount]; 这个写法好像不太理解,是OC字符串调用 对象方法吗?
|
|