Categories可以为一个对象添加方法而不需要增加该类的子类或者更改当前的对象。实际上Categories通常被用来为已经存在的类添加方法,比如你可以自己为 NSString 字符串类添加你自己的方法。Step1: 创建项目启动Xcode -> File -> New -> Project. 然后创建一个 iOS Single View Applciation。这里我们命名为 Categories.
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 |
3 | NSString *trimmedString = nil; |
4 | NSCharacterSet *numbersSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; |
5 | trimmedString = [string stringByTrimmingCharactersInSet:numbersSet]; |
Step3: 导入Category在"ViewController.h"文件头部添加以下代码来导入Category
1 | #import "NSString+RemoveNums.h" |
Step4: 测试Category在 ViewController.h 文件的 viewDidLoad 方法中添加以下代码。