UIImageView *image = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SudokuCell.png"]];
NSLog(@"%@", image);
[[self.blocks objectAtIndex:row] setObject:image atIndex:col];
NSLog(@"%@", [[self.blocks objectAtIndex:row] objectAtIndex:col]);
是我正在运行的代码。第一个NSLog打印一个UIImageView对象,第二个NSLog打印(空)。为什么第二个NSLog与第一个不打印相同的内容?
数组self.blocks初始化如下:
self.blocks = [[NSMutableArray alloc] initWithCapacity: 9];
for (int i = 0; i < 9; i++)
{
[self.blocks addObject:[[NSMutableArray alloc]initWithCapacity:9]];
}
最佳答案
NSMutableArray
没有setObject:atIndex:
方法。您应该改用insertObject:atIndex:
。注意,索引不能高于数组的数量(不是容量),例如。它不会自动用“空”值填充数组。
关于objective-c - NSMutableArray中的对象均为null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12714200/