2012-03-12 13 views
0

私はこのフィールドの初心者です。この問題に直面しています:[NSMutableArray objectAtIndex:]:インデックス4が境界を超えています[0 .. 3]。これでエラーを見つけられないようです。この点に関して、どんな身体も私を助けることができますか?私はUserresponcePerserは、Webサービスや配列に格納するデータ要素をペルセースperserあるNSArrayの境界を超えるインデックス4

NSMutableArray *my_arrUserinfo = [UserresponcePerser userdesc]; 
NSString *[email protected]""; 
encryptAlgo = [encryptAlgo stringByAppendingString:[[my_arrUserinfo objectAtIndex:9]objectAtIndex:4]]; 

...このためのコードスニペットを添付しています。

+1

私は誰にも役に立たないため、これをローカライズしすぎると投票しています。境界外の配列の配列はあまりにも基本的であり、SOにはなりません。 – jrturton

+0

この質問と回答は私にとって役に立ちました。私の状況では実行時にエラーが発生し、デバッグが難しくなりました。ヒントはほとんどありませんでした。この質問は腸の感情を確認した。 –

+0

"範囲外の配列はあまりにも基本的なので、SOには入らない" - 全く同意しない。 – funroll

答えて

1

エラーメッセージには、[my_arrUserinfo objectAtIndex:9]には3つのアイテムしかありませんが、4番目のオブジェクトにアクセスしようとしています。

+0

コードをお読みください。彼は配列[my_arrUserinfo objectAtIndex:9]から4番目のオブジェクトにアクセスしようとしています。 –

+0

それはまさにフェルナンドが言ったことです。 "[my_arrUserinfo objectAtIndex:9]によって返される配列は3つのアイテムしか持ちませんが、4番目のオブジェクトを参照しようとしています。" – tarmes

1

インデックス4の項目がないことを意味します。オブジェクトインデックスは0からカウントされるため、4番目のオブジェクトはインデックス3になり、3番目のオブジェクトは2になり、2番目のオブジェクトは1などになります。

0

「my_arrUserinfo」に含まれるデータの数を確認してください。 "my_arrUserinfo"内の各オブジェクトに対して、そのデータの数もチェックします。エラーメッセージでは、インデックスxのオブジェクトが配列の内容に到達できないようです。

NSLog(@"count my_arrUserinfo = %d", [my_arrUserinfo count]); 

for(int i = 0; i < [my_arrUserinfo count] i++){ 
    NSLog(@"count of objectAtIndex %d inside my_arrUserinfo = %d", i ,[[my_arrUserinfo objectAtIndex:i] count]); 
} 
関連する問題