-2

我正在尝试使用这行代码获取 NSString 的每个字母:

NSArray *array = [string componentsSeparatedByString:@""];
//string is equal to Jake
NSLog(@"Array Count:%d",[array count]);

我期待得到“杰克”这个词的每个字母,但我得到的是整个词。为什么?

4

2 回答 2

1

来自Apple 的关于此方法的文档

NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
produces an array { @"Norman", @"Stanley", @"Fletcher" }.

所以空分隔符不会分隔字符串的每个字符,这种方法不起作用。

这是您问题的答案

如何在Objective-C中将NSString与字符一一转换为NSArray

于 2013-09-07T18:03:46.697 回答
1

将字符串除以零的想法在逻辑上没有意义,就像试图除以零一样。但是要回答这个问题:

NSMutableArray *stringComponents = [NSMutableArray arrayWithCapacity:[string length]];
for (int i = 0; i < [string length]; i++) {
    NSString *character = [NSString stringWithFormat:@"%c", [string characterAtIndex:i]];
    [stringComponents addObject:character];
}`
于 2013-09-07T18:08:09.153 回答