当前位置:
首页 >
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增加方法计算字符串中数字的个数的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 中国银行银行卡怎么查余额
- 下一篇: BZOJ3577 : 玩手机