How to convert NSString to NSArray with characters one by one in Objective-C
objective-c
Solution
Here is my code:
@interface NSString (ConvertToArray)
-(NSArray *)convertToArray;
@end
@implementation NSString (ConvertToArray)
-(NSArray *)convertToArray
{
NSMutableArray *arr = [[NSMutableArray alloc]init];
for (int i=0; i < self.length; i++) {
NSString *tmp_str = [self substringWithRange:NSMakeRange(i, 1)];
[arr addObject:[tmp_str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
}
return arr;
}
@end
:
- (void)foo
{
NSString *exString = @"HELLO";
NSArray *arr = [exString convertToArray];
for (NSString *str in arr) {
NSLog(@"%@\n",str);
}
}
Problem
I'd like to convert `NSString(ex. @"HELLO")` to `NSArray(ex. [@"H", @"E", @"L", @"L", @"O", nil])`. First, I tried to use `componentsSeparatedByString`. But it needs to indicate separator, so I could not. How can I do that?