2011-10-22 4 views
1

문자열의 각 문자 gameWordNSMutableArray으로 가져 오려고합니다. 내가 개체로 각 char 변환 한 후 다음 코드로 NSMutableArray에 개체를 추가 해요 : ....문자열을 NSMutableString에서 NSMutableString 문자열로 변환

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]; 
    } 

정말이 문제와 개별 개체 (안 char들)로의 NSString의 각 문자를 얻기의 다른 방법을 이해하는 데 도움이 감사하겠습니다.

답변

2

for 루프가 문자열 길이를 초과합니다. 배열은 0부터 시작하므로 마지막 객체의 인덱스는 [gameWord length] - 1입니다.

이 작동합니다 : 일

for (int x = 0; x < [gameWord length]; x++) { 
    //...   ^--changed from <= to < 
} 
+0

네는 - 감사합니다! – pete