A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 葛先生 中级黑马   /  2015-3-26 01:04  /  1035 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

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字符串调用 对象方法吗?










1 个回复

倒序浏览
我擦 @怎么变成表情了
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马