软件发布| 专题库| 优优资讯| 苹果专区| 安卓专区| 软件下载| 首页
优优资讯 电脑教程 安卓教程 安卓攻略 苹果教程 苹果攻略 新闻资讯

IOS开发:Objective-C Category的最初体验

时间:2016-02-03 来源:本站整理 我要评论

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

 

 

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的扩展方法来替代子类的添加。

 

用户评论

(已有0条评论)
表情
注:您的评论需要经过审核才能显示哦,请文明发言!
还没有评论,快来抢沙发吧!
快速检索
0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z