我正在尝试使用这行代码获取 NSString 的每个字母:
NSArray *array = [string componentsSeparatedByString:@""];
//string is equal to Jake
NSLog(@"Array Count:%d",[array count]);
我期待得到“杰克”这个词的每个字母,但我得到的是整个词。为什么?
来自Apple 的关于此方法的文档
NSString *list = @"Norman, Stanley, Fletcher";
NSArray *listItems = [list componentsSeparatedByString:@", "];
produces an array { @"Norman", @"Stanley", @"Fletcher" }.
所以空分隔符不会分隔字符串的每个字符,这种方法不起作用。
这是您问题的答案
将字符串除以零的想法在逻辑上没有意义,就像试图除以零一样。但是要回答这个问题:
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];
}`