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?

Original source

Related problems