欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数

发布时间:2024/10/12 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1:分类的使用场景:想对一个类,扩充一些功能,而又不改变原来类的模型,也不用继承,这时OC中的特有语法:分类可以做到;

当然分类也是一个类,也需要声明和实现,声明在.h文件中,实现在.m文件中,格式如下

// 声明

@interface  类名  (分类名称)

@end

// 实现

@implementation 类名 (分类名称)

@end

2:分类的好处,当一个类比较庞大时,不同的部分可以放到不同的分类中,也方便团队中类的开发;

3:分类使用注意:

  a:分类不能增加成员变量,只能对原类增加方法;

  b:分类方法实现中,可以访问原来类的成员变量;

  c:分类可以写和类同名的方法,但是这样会覆盖掉原来类的方法,导致永远访问不到原来的类的方法,所以不建议这么做;

    调用顺序:分类——找不到方法时去——>原来类——找不到方法时去——>父类;可见分类的调用优先级最高;

  d:当一个类有单个分类时,且每个分类都由同名方法,调用顺序和编译的顺序有关,最后编译的方法会覆盖先编译的方法,所以最后编译的会被调用;

 

 

 

分类的应用:给NSString增加方法,计算一个字符串中数字的个数;

// 在NSString+intSum.h文件中 // 对NSString类添加一个类方法和对象方法,计算字符串中整数的个数; #import <Foundation/Foundation.h>@interface NSString (intSum)//对NSString类添加一个类方法,计算字符串中整数的个数,声明 + (int)intSum:(NSString *)str;// 对象方法的声明 - (int)intCount;@end// 在NSString+intSum.m文件中 @implementation NSString (intSum)// 类方法的实现 + (int)intSum:(NSString *)str {int count = 0;for (int i = 0; i<str.length; i++) {int temp = [str characterAtIndex:i];if (temp > '0' && temp < '9') {count++;}}return count; }// 对象方法的实现,只需调用类方法就可以了; - (int)intCount {return [NSString intSum:self]; }@end// 在main中测试int main() {int sum = [NSString intSum:@"234df56"]; // 调用类方法int count = [@"234sd454545" intCount]; // 调用对象方法 NSLog(@"sum=%d, count=%d", sum, count);return 0; }

 

 

转载于:https://www.cnblogs.com/cxbblog/p/3721288.html

总结

以上是生活随笔为你收集整理的OC特有语法:分类category,给NSString增加方法计算字符串中数字的个数的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。