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"文件。添加以下代码:
@interface NSString (RemoveNums) - (NSString *)removeNumbersFromString:(NSString *)string;@end
实现Category扩展的方法
接着来到"NSString+RemoveNums.m"文件。添加以下代码。大家可以看到这个方法实际做的事情就是从整个NSString去除掉所有的数字字符。
- (NSString *)removeNumbersFromString:(NSString *)string { NSString *trimmedString = nil; NSCharacterSet *numbersSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"]; trimmedString = [string stringByTrimmingCharactersInSet:numbersSet]; return trimmedString; }
Step3: 导入Category
在"ViewController.h"文件头部添加以下代码来导入Category
#import "NSString+RemoveNums.h"
Step4: 测试Category
在 ViewController.h 文件的 viewDidLoad 方法中添加以下代码。
NSString *stringWithNums = @"ABC 123"; NSLog(@"stringWithNums --> %@",stringWithNums); stringWithNums = [stringWithNums removeNumbersFromString:stringWithNums]; NSLog(@"trimmed stringWithNums --> %@",stringWithNums);
Step5: 使用Category的方法
在Xcode的菜单栏点击 Product -> Run,测试过程中,请注意控制台首先输出的 "ABC 123",然后被方法去除数字后输出的"ABC"
结论
我们都知道添加子类是为某一种对象添加方法的途径,但是为了整个代码更加简洁直观,我们通常会用Category的扩展方法来替代子类的添加。
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。 2KB翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。2KB项目(www.2kb.com,源码交易平台),提供担保交易、源码交易、虚拟商品、在家创业、在线创业、任务交易、网站设计、软件设计、网络兼职、站长交易、域名交易、链接买卖、网站交易、广告买卖、站长培训、建站美工等服务