2011-10-22 8 views
1

gameWordの各文字をNSMutableArrayに取得しようとしています。 私がオブジェクトに各charを変換し、次のコードでNSMutableArrayにオブジェクトを追加している:ループ内の文字列を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 S)にNSStringの各文字を取得する任意の他の方法を理解する助けいただければ幸いです。

答えて

2

forループは文字列の長さを超えます。配列はゼロベースなので、最後のオブジェクトのインデックスは[gameWord length] - 1です。これは動作するはず

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

いや働いていた - ありがとうございました! – pete

関連する問題