Objective-C 之category

參考資料:iOS設計模式——Category程序員

Category

  • Category模式用於向已經存在的類添加方法從而達到擴展已有類的目的。
  • 至關於Swift中的功能擴展(extension)。
  • 新添加的方法一樣也會被被擴展的類的全部子類自動繼承。

Category的用途

一、 在不建立繼承類的狀況下實現對已有類的擴展。
二、 簡化類的開發工做(當一個類須要多個程序員協同開發的時候,Category能夠將同一個類根據用途分別放在不一樣的源文件中,從而便於程序員獨立開發相應的方法集合)。
三、將經常使用的相關的方法分組。
四、 在沒有源代碼的狀況下能夠用來修復BUG。設計模式

示例:

在項目中添加文件選着Category文件類型spa


Objective-C-Category.jpg

NSString+EndWith.h.net

#import <Foundation/Foundation.h> @interface NSString (EndWith) -(BOOL)endWith:(NSString*)end; @end

NSString+EndWith.m設計

#import "NSString+EndWith.h" @implementation NSString (EndWith) -(BOOL)endWith:(NSString *)end{ NSString *selfEnd = [self substringFromIndex:[self length]-[end length]]; return [selfEnd isEqualToString:end]; } @end

main.m3d

#import <Foundation/Foundation.h> #import "NSString+EndWith.h" int main(int argc, const char * argv[]) { @autoreleasepool { NSString * str = @"c:/Media/mp3/xxx.mp3"; NSLog(@"%d",[str endWith:@".mp3"]); } return 0; }
相關文章
相關標籤/搜索