Чтобы упростить это для себя и вместо создания подкласса, вы можете изменить существующие классы Apple и сделать что-то вроде
//
// NSString+MyExtensions.h
//
@interface NSString (MyExtensions)
- (NSString *)trimmed;
@end
и реализация
//
// NSString+MyExtensions.m
//
#import "NSString+MyExtensions.h"
@implementation NSString (MyExtensions)
- (NSString *)trimmed {
return [self stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceAndNewlineCharacterSet]];
}
@end
Так что теперь в любом месте вашего приложения, где вы используете NSString
,
теперь вы можете звонить [@" hello world " trimmed]
, как показано ниже
//
// ViewController.m
//
#import "NSString+MyExtensions.h"
@implementation ViewController
- (void)viewDidLoad {
NSString *string = @" This is a string ";
NSLog(@"The original string: %@ \n The trimmed string: %@\n\n",
string,
[string trimmed]);
string = @" ";
if([string trimmed].length == 0)
NSLog(@"%@", @"String is empty! :O");
}
@end
Что бы распечатать
The original string: This is a string
The trimmed string: This is a string
String is empty! :O