IOS开发:Objective-C Category的最初体验
IOS开发:Objective-C Category的最初体验
发布时间:2016-02-19 来源:查字典编辑
摘要:Step1:创建项目启动Xcode->File->New->Project.然后创建一个iOSSingleViewApplciation。这...

  Step1: 创建项目

  启动Xcode -> File -> New -> Project. 然后创建一个 iOS Single View Applciation。这里我们命名为 Categories.

IOS开发:Objective-C Category的最初体验 查字典教程网

  Step2: 创建Category

  现在来创建一个Category来为NSString添加扩展方法。点击 File -> New -> File 然后选择 Cocoa Touch Objective-C category. 这里我们命名为 RemoveNums。记得要从 Category on 下拉框选择 NSString,最后点击Create按钮旁的Next按钮。

  声明Category扩展的方法。

  选择 "NSString+RemoveNums.h"文件。添加以下代码:

1 @interface NSString (RemoveNums)
2 - (NSString *)removeNumbersFromString:(NSString *)string;@end

  实现Category扩展的方法

  接着来到"NSString+RemoveNums.m"文件。添加以下代码。大家可以看到这个方法实际做的事情就是从整个NSString去除掉所有的数字字符。

1 - (NSString *)removeNumbersFromString:(NSString *)string
2 {
3 NSString *trimmedString = nil;
4 NSCharacterSet *numbersSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
5 trimmedString = [string stringByTrimmingCharactersInSet:numbersSet];
6 return trimmedString;
7 }

  Step3: 导入Category

  在"ViewController.h"文件头部添加以下代码来导入Category

1 #import "NSString+RemoveNums.h"

  Step4: 测试Category

  在 ViewController.h 文件的 viewDidLoad 方法中添加以下代码。

1 NSString *stringWithNums = @"ABC 123";
2 NSLog(@"stringWithNums --> %@",stringWithNums);
3 stringWithNums = [stringWithNums removeNumbersFromString:stringWithNums];
4 NSLog(@"trimmed stringWithNums --> %@",stringWithNums);

  Step5: 使用Category的方法

  在Xcode的菜单栏点击 Product -> Run,测试过程中,请注意控制台首先输出的 "ABC 123",然后被方法去除数字后输出的"ABC"

  结论

  我们都知道添加子类是为某一种对象添加方法的途径,但是为了整个代码更加简洁直观,我们通常会用Category的扩展方法来替代子类的添加。

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新IOS开发学习
热门IOS开发学习
编程开发子分类