标签:ios平台 mac os x objective-c 程序开发 面向对象
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------
1、 目的:给某个类扩充一些方法,但不修改原来类的代码,不使用继承。
2、 分为三个步骤:1>新建一个方法类
2>声明 @interface 类名(分类名称)
@end
3>实现 @implementation 类名(分类名称)
@eng
3、 使用注意:1>分类只能增加方法不能增加成员变量
2>分类方法实现中可以访问原来类中声明的成员变量
3>分类可以重写原来类中的实现方法,但是会覆盖原来的方法,会导
致原来的方法不能再用,开发中一般不建议这样做。
4>方法调用优先级:分类(最后参与编译的分类优先)、原来类、父类
4、 给NSString增加分类:给NSString增加一个类方法,计算某个字符串中阿拉伯数字个数。
1> 先建一个NSString的分类number
2> 声明:+ (int)numberCountOfString:(NSString *)str;
3> 方法实现:
(int)numberCountOfString:(NSString *)str;
{
intcount = 0;
for(inti = 0;i<str.length;i++)
{
unicharc = [str characterAtIndex : i];
if(c>=’0’&&c<=’9’)
{
count++;
}
}
return count;
}
主函数中的调用为:intcount = [NSString numberCountOfString:@”56g78nbc”];
5、 给NSString增加分类:给NSString增加一个对象方法,计算某个字符串中阿拉伯数字个数。这种方法更简单。
同上面步骤一样,这里只写方法实现:
(int)numberCount
{
intcount = 0;
for(inti = 0;i<str.length;i++)
{
unicharc = [self characterAtIndex : i];
if(c>=’0’&&c<=’9’)
{
count++;
}
}
return count;
}
主函数调用:intcount = [@”56g78nbc” numberCount];
---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ---------------------- 详细请查看:<a href="http://www.itheima.com" target="blank">www.itheima.com</a>
黑马程序员学习笔记_OC之给NSString增加分类,布布扣,bubuko.com
标签:ios平台 mac os x objective-c 程序开发 面向对象
原文地址:http://blog.csdn.net/yangying514/article/details/26955999