1

そのため、アプリをテストしていたときに、コンソールで次のクラッシュが発生しました。

3   UIKit                           0x32fe529e -[UIButtonContent setImage:] + 26
4   UIKit                           0x32fe51dc -[UIButton setImage:forState:] + 136
5   App                         0x0005ce20 -[MainView resetPicture] (MainView.mm:138)

そこで、MainView の resetPicture を確認しました。これは 138 行目付近のコードです。

if ([myButton imageForState:UIControlStateNormal] != theImage) {
      [myButton setImage:theImage forState:UIControlStateNormal];
}

今、私は ViewDidLoad の theImage にこれを行います:

nib = [UIImage imageNamed:@"My-Image-Button.png"];

この問題を引き起こしている可能性のあるものはここにありますか?

ありがとう!

4

1 に答える 1

1

ARCを使用していますか?そうでない場合は、コードが示すように、インスタンス変数に格納するときに、ロードしている UIImage を保持する必要があります。(またはプロパティを使用します。) そうしないと、resetPicture に到達するまでに割り当てが解除される可能性があります。

于 2012-12-13T00:46:06.817 に答える