//  main.m
// Category练习 #import <Foundation/Foundation.h>
#import "NSString+NJ.h" //看不到NSString的.h文件。 /*
int countWithStr(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 main(int argc, const char * argv[]) {
/*
已知一个字符串, 要求找出字符串中所有的阿拉伯数字
@"a123jj46kfd5jlwf7ld"; 1.计数器思想, 定义一个变量保存结果
2.遍历字符串, 取出字符串中所有的字符
*/ NSString *str = @"a1jj46kf1d5jlwf7l9d8";
/*
// unichar c = [str characterAtIndex:1];
// NSLog(@"%c", c);
int count = 0;
for (int i = 0; i < str.length; ++i) {
unichar c = [str characterAtIndex:i];
// NSLog(@"%c", c);
if (c >= '0' && c <= '9') {
count++;
}
}
*/ int count2 = countWithStr(str);
int count1 = [NSString countWithStr:str];
int count = [str count];
NSLog(@"count = %i", count);
return ;
}
//  NSString+NJ.h

#import <Foundation/Foundation.h>

@interface NSString (NJ)

+ (int)countWithStr:(NSString *)str;

- (int)count;
@end
//  NSString+NJ.m

#import "NSString+NJ.h"

@implementation NSString (NJ)

-(int)countWithStr:(NSString *)str{
int count=;
for (int i=; i< str.length; i++) {
unichar c=[str characterAtIndex:i];
if (c>=''&& c<='') {
count++;
}
} } -(int)count{
int number=;
for (int i= ; i< self.length; ++i) {
unichar c=[self characterAtIndex:i];
if(c>=''&& c<='');
number ++; } }
@end
//  Person.h

#import <Foundation/Foundation.h>

@interface Person : NSObject

- (void)test;
@end
//  Person.m

#import "Person.h"
#import "NSString+NJ.h" @implementation Person -(void)test{
NSString *str=@"fds64jkl43fjdslkf";
int count =[NSString countWithStr:str];
NSLog(@" count= %i",count);
} @end

oc60--Category 分类 练习的更多相关文章

  1. category分类

    /* 使用继承关系来扩充一个类,有一个弊病,高耦合性 category(分类,类别) 能够帮我们扩充一个类的功能 */ - (void)superJump { //    [self eat]; [s ...

  2. Objective-C中的Category(分类)

    Objective-C中的Category(分类) 1 Category概念:动态的为已经存在的类加入新的行为(方法) 2 Category(分类)创建的方法 (1)通过Xcode生成分类 (2)能够 ...

  3. 使用django开发博客过程记录4——Category分类视图

    在写点击博客的所属分类,显示所有该分类的文章时真是让我想了好一会,为什么呢?因为我使用的是cbv模式开发的而不是简单的视图处理逻辑的,所以,有些操作会被包装好了,你并不知道它的细节,那么我们今天要实现 ...

  4. Objective-C( Category 分类,非正式协议,分类延展)

    分类: 主要是给原来类增加一些方法;不可以增加成员变量 Person (Person+eat) 非正式协议: 非正式协议就是类别,即凡是NSObject或其子类Foundation框架中的类增加的类别 ...

  5. iOS - OC Category 分类

    1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之 ...

  6. [Objective-c 基础 - 2.8] category分类/类别/类目

    A.给某个类扩充方法(不改变原来的类) 例如,给类Person加上名为Simon的category,加上一个-study方法 使用()注明 Person+Simon.h @interface Pers ...

  7. Category 分类

    1.Category 1)分类/类别(category): 允许以模块的方式向现有类定义添加新的方法(默认不能添加实例变量).用以扩展自己或他人以前实现的类,使它适合自己的需要. 分类的名称括在类名之 ...

  8. [OC笔记] Category分类之见解

    用过别的语言做过开发的同学都知道,如果你想扩充一个类,就应该去继承这个类.但是OC里面有更好的方法,那就是分类. 那什么是分类呢?就是在不改变原先类,我们可以在其中添加咱们自定义的方法,这样和同事合作 ...

  9. OC category(分类)

    // ()代表着是一个分类 // ()中的Test代表着分类的名称 @interface Student (Test) // 分类只能扩展方法,不能增加成员变量 - (void)test2; @end

  10. Xcode7中,如何新建category分类

    易忘,所以留存: 1, 2, 3, 结果如下: 补充: http://tech.meituan.com/DiveIntoCategory.html

随机推荐

  1. 淘宝ip地址库接口会导致TTFB时间变长,网站打开速度变慢

    前一段时间闲来无事发现别人的网站上有显示当前用户城市的功能,就自己也整了一个 这是淘宝ip地址库调用方法 然后问题就出现了,网站打开速度慢的要死 用F12发现是TTFB太慢,然后百度了,发现了问题的原 ...

  2. WEB开发模式浅析

    WEB技术随着互联网的崛起而崛起,又随着移动互联网的发展而呈现更加多样化的趋势. 黑暗时代:大约在2005年以前,所谓的WEB开发主要还是美工的活,HTML/CSS占主导,Dreamwaver做为页面 ...

  3. printFinal用法示例

    printFinal是一个基于jQuery的打印插件,支持打印预览,使用很简单,废话不多多说,直接上代码. <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  4. Ajax——php基础知识(一)

    AMP环境 AMP(Apache.MySQL.PHP)是三个独立的软件,但是对于初学者而言分别安装以及配置需要掌握一定的软件知识,所以就有了很多AMP集成环境帮助我们简化安装 ——WAMP WAMP安 ...

  5. html5——3D案例(音乐盒子、百度钱包)

    1.音乐盒子:触碰盒子,盖子会打开 2.百度钱包:触碰钱包,钱包,会180度旋转 <!DOCTYPE html> <html lang="en"> < ...

  6. TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具

    怀着鸡动的心情跟大家介绍一款国产开源运维软件TriAquae,轻松帮你搞定大部分运维工作!TriAquae 是一款由国产的基于Python开发的开源批量部署管理工具,可以允许用户通过一台控制端管理上千 ...

  7. CSS3设计炫目字体

    阴影 .text-shadow{ text-shadow:#FF0000 0 0 10px; color:white; font-size:60px } 描边 <style> .text- ...

  8. CAD把一个命令当着一个函数调用,不执行(com接口VB语言)

    主要用到函数说明: MxDrawXCustomFunction::Mx_SendStringToExecuteFun 把一个命令当着一个函数调用,不执行,详细说明如下: 参数 说明 CString s ...

  9. PHP 魔术方法浅谈

    php中把以两个下划线(__)开头的方法称之为魔术方法.魔术方法包括: __construct()    类的构造方法  构建方法时被调用 __destruct()      类的析构方法  明确销毁 ...

  10. 解读PTR_ERR,ERR_PTR,IS_ERR

    解读PTR_ERR,ERR_PTR,IS_ERR 看到了几个宏PTR_ERR,ERR_PTR,IS_ERR(其实是内联函数).还是不太明白,然后就google搜索了一下,搜出来的结果真是不让人满意,看 ...