萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> ios >> IOS開發:Objective-C Category的最初體驗

IOS開發:Objective-C Category的最初體驗

   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的擴展方法來替代子類的添加。

copyright © 萬盛學電腦網 all rights reserved