2

我不知道为什么,但我的 NSMutableArray 'items' 不会超过 5 个元素。

有人可以帮忙吗?我正在关注 Big Nerd Ranch iOS Programming 一书。

此代码工作正常:

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

在您在评论中发布的屏幕截图中,您正在将 C 字符串 , 添加"Mac"randomNounList数组中。您需要将其设为带有 @ 符号的 NSString。

我怀疑随机选择此条目时会发生崩溃。

我很惊讶这个编译,我怀疑你忽略了一些警告。

于 2012-05-21T10:59:51.927 回答