我正在尝试将字符串的每个字符gameWord
放入NSMutableArray
。
我将每个char
转换为一个对象,然后使用以下代码将对象添加到NSMutableArray
中:
NSMutableString *letterOne = [[NSMutableString alloc] initWithFormat:@"%C",[gameWord characterAtIndex:0]];
NSMutableString *letterTwo = [[NSMutableString alloc] initWithFormat:@"%C",[gameWord characterAtIndex:1]];
依旧......
我不明白为什么以下循环不起作用?
NSMutableArray *lettersArray = [[NSMutableArray alloc] initWithCapacity:[gameWord length]];
for (int x = 0 ; x <= [gameWord length] ; x++) {
NSMutableString *letter = [[NSMutableString alloc]initWithFormat:@"%C",[gameWord characterAtIndex:x]];
[lettersArray addObject:letter];
[letter release];
}
非常感谢帮助理解此问题以及将NSString
的每个字符都放入单个对象(而非char
s)的任何其他方法。
答案 0 :(得分:2)
您的for
循环超出了字符串的长度。数组从零开始,因此最后一个对象的索引为[gameWord length] - 1
。
这应该有效:
for (int x = 0; x < [gameWord length]; x++) {
//... ^--changed from <= to <
}