0
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 オブジェクトを出力し、2 番目の NSLog は (null) を出力します。2 番目の NSLog が最初のものと同じものを出力しないのはなぜですか?

配列 self.blocks は次のように初期化されます。

self.blocks = [[NSMutableArray alloc] initWithCapacity: 9];
for (int i = 0; i < 9; i++)
{
    [self.blocks addObject:[[NSMutableArray alloc]initWithCapacity:9]];
}
4

1 に答える 1

2

NSMutableArrayメソッドがありませんsetObject:atIndex:insertObject:atIndex:代わりに使用する必要があります。インデックスは、配列の数 (容量ではありません) より大きくすることはできないことに注意してください。配列が「空の」値で自動的に埋められることはありません。

于 2012-10-03T18:06:36.713 に答える