我是一个完全的菜鸟,需要我正在编写的方法的帮助。
该方法创建一副纸牌(使用 NSMutableArray)。我首先尝试随机加载数字 1-13 的数组(每个数字出现一次)。
当我运行一个简单的测试程序来打印数组中的值时,我得到一个“构建成功”,但是一旦程序启动就会出错。错误显示“[__NSArrayM insertObject:atIndex:]: object cannot be nil”。
一旦我明白我做错了什么,我就可以正确地扩展该方法。谢谢!
注意:这是我的第一篇文章。这种问题可以吗?
- (void) createDeck {
int r;
BOOL same;
deck = [[NSMutableArray alloc]init];
NSNumber *randNum;// = nil;
randNum = [[NSNumber alloc]init];
[randNum initWithInt: (arc4random()%13)+1];
[deck addObject: randNum]; // First card added to deck
same = FALSE;
while (!same) {
for (int i=1; i<13; i++) {
same = FALSE;
for (r=0; r<=i; r++) {
[randNum initWithInt: (arc4random()%13)+1];
if ([deck objectAtIndex:r] == [deck objectAtIndex:i]) {
same = TRUE;
}
[deck addObject: randNum]; // Next card added to deck
}
}
}
}