0

さまざまなWebビューのほとんどのイベントを処理する1つの汎用デリゲートが必要です。

デリゲートを作成しました:

@interface GenericWebViewDelegate : NSObject <UIWebViewDelegate>

そして、viewDidLoadの内部で設定しました:

GenericWebViewDelegate* genericWebViewDelegate = [[GenericWebViewDelegate alloc] init];

[TheWebView setDelegate:genericWebViewDelegate];

上記はEXC_BAD_ACCESSを返しています

何か案は?

4

1 に答える 1

0

あなたの質問から私が理解できる限り、それは2つの可能性のいずれかです。

  1. への割り当てを行っているときにアプリがクラッシュした場合は、以前に割り当てが解除されTheWebViewたことを意味します。TheWebViewそのため、おそらく作成方法を確認する必要があります。

  2. デリゲート メソッドが呼び出されたときに発生する場合は、デリゲート オブジェクトの作成方法によって異なります。デリゲートを定義する方法では、の実行後も長くは存続しないため、viewDidLoad呼び出されるとアプリがクラッシュします。

    あなたがする必要があるstrongのは、クラスのプロパティにデリゲートを格納することです。そうすれば、クラス インスタンスが存続する限り存続し、呼び出されたときにまだそこに存在する可能性があります。

于 2012-08-03T15:37:34.703 に答える