分類允許在不修改原始類別、不建立子類別的情況下,為現有類別新增方法。其特性:
super 呼叫鏈中斷。檔案命名:類別名+功能描述,例如 NSString+Reverse.h/m。
// 介面宣告 #import <Foundation/Foundation.h> @interface NSArray (Convert) + (NSMutableArray *)arrayFromNumber:(int)number; @end
// 實作檔
#import "NSArray+Convert.h"
@implementation NSArray (Convert)
+ (NSMutableArray *)arrayFromNumber:(int)number {
NSMutableArray *numberArray = [[NSMutableArray alloc] init];
while (number) {
int last = number % 10;
number /= 10;
[numberArray addObject:[NSNumber numberWithInt:last]];
}
return [numberArray autorelease];
}
@end

分類是 Objective-C 極具彈性的擴充機制,善用可大幅提升程式碼模組化程度。