将 NSString 转换为字符的 NSArray [重复]

Posted

技术标签:

【中文标题】将 NSString 转换为字符的 NSArray [重复]【英文标题】:Convert NSString to NSArray of characters [duplicate] 【发布时间】:2017-01-04 22:03:36 【问题描述】:

我正在尝试将 NSString 转换为 NSArray 字符,但我还没有找到方法。

这是我的代码:

NSString *one = @"abc";
const char *charOne= [one UTF8String];

但是如果我尝试转换 NSArray:

 NSArray *arrayOne = [[NSArray alloc] initWithArray:(NSArray*)charOne];

我收到此错误: ARC 中不允许将非 Objective-C 指针类型 const char * 转换为 NSArray

我的问题是,如何将 NSString 转换为 NSArray 字符?

非常感谢您的帮助

【问题讨论】:

明确你想要的数组。你想要unichar 的数组吗? NSString 的数组每个代表一个字符?请注意,某些 Unicode 字符不适合 unichar 我认为这个答案对你有帮助:***.com/questions/25501898/… @ShalomDahan,如果你仔细看,字符串没有逗号 @Cristik 如果是这种情况,为什么会出错? @rmaddy,子字符串数组 (NSString) 可以工作 【参考方案1】:

试试这个

NSMutableArray *letterArray = [NSMutableArray array];
NSString *letters = @"ABCDEF?क्";
[letters enumerateSubstringsInRange:NSMakeRange(0, [letters length]) 
                                    options:(NSStringEnumerationByComposedCharacterSequences) 
                                 usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) 
            [letterArray addObject:substring];
        ];

来自:NSString to NSArray

【讨论】:

以上是关于将 NSString 转换为字符的 NSArray [重复]的主要内容,如果未能解决你的问题,请参考以下文章

将 JSON 格式的 NSString 转换为 NSArray 失败

将 NSNumber* 的 NSArray 存储为 Core Data 中的 NSString

iOS NSArray转化为Json

无法将逗号分隔的字符串转换为数组

string字符串转换为array(互换)

如何将 NSNumber 转换为 NSString