博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Objective-C之@类别小实例
阅读量:6226 次
发布时间:2019-06-21

本文共 2126 字,大约阅读时间需要 7 分钟。

hot3.png

循序渐进的类别小实例

内容大纲:

  • 1、小实例的问题需求和问题思路分析
  • 2、C语言模块化思想解决方法
  • 3、类别的使用
  • 4、开发经验者的类别用法

1、小实例的问题需求和问题思路分析:

已知一个字符串,要求找出字符串中所有的阿拉伯数字并计算其个数     例如@"a123sb23r2jsowsalwf"求数字的个数     1、计数器思想,定义一个变量保存结果     2、遍历字符串,取出字符串中所有的字符

2、C语言模块化思想解决方法

1 #import 
2 3 int getStrCount(NSString* str) 4 { 5 int count = 0; 6 for (int i = 0; i < str.length; i++) { 7 unichar c = [str characterAtIndex:i]; 8 if (c >= '0' && c <= '9') { 9 count++;10 }11 }12 return count;13 }14 15 int main(int argc, const char * argv[]) {16 @autoreleasepool {17 NSString* str = @"a123sb23r2jsowsalwf";18 NSLog(@"%d",getStrCount(str));19 }20 return 0;21 }

3、类别的使用

思路:因为是计算NSString对象的数字的个数,所以可以通过类别,将这个计算的功能作为NSSting的拓展方法。

创建NSString+getStrCount的类别

1 #import 
2 3 @interface NSString (getStrCount)4 5 +(int)getStrCount:(NSString*)str;6 7 @end
1 #import "NSObject+getStrCount.h" 2  3 @implementation NSString (getStrCount) 4  5 +(int)getStrCount:(NSString*)str{ 6     int count = 0; 7     for (int i = 0; i < str.length; i++) { 8         unichar c = [str characterAtIndex:i]; 9         if (c >= '0' && c <= '9') {10             count++;11         }12     }13     return count;14 }15 16 @end

然后在客户端:

1 int main(int argc, const char * argv[]) {2     @autoreleasepool {3         NSString* str = @"a123sb23r2jsowsalwf";4         NSLog(@"%d",[NSString getStrCount:str]);5     }6     return 0;7 }

4、开发经验者的类别用法

NSString+getStrCount类别中

1 #import 
2 3 @interface NSString (getStrCount)4 5 -(int)count;6 7 @end
1 #import "NSObject+getStrCount.h" 2  3 @implementation NSString (getStrCount) 4  5 -(int)count{ 6     int count = 0; 7     for (int i = 0; i < self.length; i++) { 8         unichar c = [self characterAtIndex:i]; 9         if (c >= '0' && c <= '9') {10             count++;11         }12     }13     return count;14 }15 @end

然后在客户端:

1 int main(int argc, const char * argv[]) {2     @autoreleasepool {3         NSString* str = @"a123sb23r2jsowsalwf";4         NSLog(@"%d",[str count]);5     }6     return 0;7 }
 

转载于:https://my.oschina.net/u/2363463/blog/635867

你可能感兴趣的文章
JDBC的事务
查看>>
Io流的概述
查看>>
App 卸载记录
查看>>
JavaScript变量和作用域
查看>>
开源SIP服务器加密软件NethidPro升级
查看>>
《别做正常的傻瓜》的一些读书心得
查看>>
作业:实现简单的shell sed替换功能和修改haproxy配置文件
查看>>
Altium 拼板方法以及 注意的 地方
查看>>
PMP考试的过与只是
查看>>
Apache Pulsar中的地域复制,第1篇:概念和功能
查看>>
python pip install 出现 OSError: [Errno 1] Operation not permitted
查看>>
oracle12C 重做日志
查看>>
awk-sed
查看>>
zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
查看>>
编码规约
查看>>
从源码分析scrollTo、scrollBy、Scroller方法的区别和作用
查看>>
一年成为Emacs高手(像神一样使用编辑器)
查看>>
透过【百度地图API】分析双闭包问题
查看>>
iis配置网址(主机名)
查看>>
把DATATABLE,DS中的内容用HTML的方式显示
查看>>