Objective c 在循环中将字符串逐字符转换为NSMutableString
我试图将字符串的每个字符,Objective c 在循环中将字符串逐字符转换为NSMutableString,objective-c,nsstring,Objective C,Nsstring,我试图将字符串的每个字符,gameWord,放入一个NSMutableArray。 我正在将每个char转换为一个对象,然后使用以下代码将对象添加到NSMutableArray: NSMutableString *letterOne = [[NSMutableString alloc] initWithFormat:@"%C",[gameWord characterAtIndex:0]]; NSMutableString *letterTwo = [[NSMutableString alloc
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];
}
NSMutableArray*lettersArray=[[NSMutableArray alloc]initWithCapacity:[gameWord length]];
for(int x=0;x您的for
循环超出了字符串的长度。数组是基于零的,因此最后一个对象的索引为[gameWord length]-1
这应该起作用:
for (int x = 0; x < [gameWord length]; x++) {
//... ^--changed from <= to <
}
for(int x=0;x<[gameWord length];x++){
//…^--从