2015/07/06

UIImageViewにimageを設定する際に例外が発生する?

UIImageViewにimageを設定する際に例外!?

他人が作ったアプリのバグ修正依頼を受けた。

デバッグ実行してみると、
UIImageViewimageUIImage を設定しようとして、例外が発生していた。

[XxxxxView setImage:]: unrecognized selector sent to instance xxxxxxxxxx

unrecognized selector なので、メソッド名の指定に間違いがあるようだが…
ん、UIImageView でなく XxxxxView (該当画面のViewController) になってる?

ロジックを見てると、予め作成された UIImageView[self viewWithTag: tagNo] で取得していたんだが、条件によって tagNo0 になるパターンがあった。

for (int i=0; i<kX; i++) {
  for (int j=0; j<kY; j++) {
    NSInteger tagNo = [self getTagNoWithX:i Y:j]; // <- ここがおかしい
    UIImageView *img = (UIImageView *)[self viewWithTag: tagNo];
    img.image = [UIImage imageNamed:@"icon-name"];
  }
}

[self viewWithTag: 0] の時に 自分自身 (self) が返ってきてしまう模様。
適切なTagNoを返すように修正した。

0 件のコメント:

コメントを投稿