@interface NSString (CamelCase)
- (NSString *)camelCaseString;
@end
命名慣例:ClassName+CategoryName.h
@implementation NSString (CamelCase)
- (NSString *)camelCaseString {
// 1. 首字母大寫
NSString *castr = [self capitalizedString];
// 2. 按空白字符分割
NSArray *array = [castr componentsSeparatedByCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]];
// 3. 拼接
NSString *output = @"";
for (NSString *word in array) {
output = [output stringByAppendingString:word];
}
return output;
}
@end
int main() {
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *str = @"My name is bill.";
NSLog(@"%@", str); // My name is bill.
str = [str camelCaseString];
NSLog(@"%@", str); // MyNameIsBill.
[pool drain];
return 0;
}
self(原類實例)來源:驿落黃昏博客