2

理由はわかりませんが、NSMutableArrayの「items」は5つを超える要素を取りません。

誰か助けてもらえますか?私はBigNerdRanchiOSプログラミングの本をフォローしています。

このコードは正常に機能します。

NSMutableArray *items = [[NSMutableArray alloc] init];
for (int i = 5; i < 10; i++) {
    BNRItem *p = [BNRItem randomItem];
    [items addObject:p];
}

ただし、iの初期値を4以下に変更すると、forループを終了するときにプログラムがクラッシュします。

NSMutableArray *items = [[NSMutableArray alloc] init];
for (int i = 4; i < 10; i++) {
    BNRItem *p = [BNRItem randomItem];
    [items addObject:p];
}

エラーのスクリーンショット:http ://db.tt/3CdueSYh

4

2 に答える 2

7

あなたの

NSArray *randomNounList = [NSArray arrayWithObjects:@"Bear", @"Spork", "Mac", nil];

に:

NSArray *randomNounList = [NSArray arrayWithObjects:@"Bear", @"Spork", @"Mac", nil];

@あなたは前に忘れました"Mac"

それが役に立てば幸い

于 2012-05-21T10:59:31.043 に答える
3

コメントに投稿したスクリーンショットでは"Mac"randomNounList配列にC文字列、を追加しています。これを@記号付きのNSStringにする必要があります。

このエントリがランダムに選択されたときにクラッシュが発生していると思われます。

私はこれがコンパイルされたことに驚いています、私はあなたがいくつかの警告を無視しているのではないかと思います。

于 2012-05-21T10:59:51.927 に答える