0

LiveViewUIWebView を宣言したクラスがありmyWebViewます。同じクラスにいる間は問題なく読み込まれます。ボタンをクリックするだけで、URL を別の URL に変更できます。問題ありません。LoopCamユーザーがテキストフィールドに秒数を入力してからURLを別の場所に変更できるという別のクラスがあります。ループを正しく作成したので、X 秒後に別の URL が読み込まれます。私は NSLog を使用しましたが、正しく動作するため、X 秒後に NSLog が新しい URL をコンソールに正しく出力しますが、使用 すると、新しい URL (example.com) をロードするためにロードされません。[_liveView.myWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://example.com"]]];

次のように LoopCam クラスでクラスのインスタンスを作成しLiveView * _liveView;、ヘッダーをインポートして、次のよう#import "LiveView.h"に合成しました: ボタンを押すことなく、別のクラスから UIWebView に新しい URL をロードする方法はありますか? ? PS。ボタンを押しても、新しい URL は読み込まれません。ありがとうLoopCam.m@synthesize liveView = _liveView;

4

1 に答える 1

1

「LoopCam クラスのクラスのインスタンスを次のように作成しました: LiveView * _liveView;」

これはインスタンスを作成しません。インスタンスを指すプロパティを作成するだけです。既に持っている LiveView のインスタンスへの参照を取得する必要があります。その方法は、LiveView から LoopCam に移動した方法によって異なります。たとえば、プッシュ経由で LiveView から LoopCam にアクセスする場合、プッシュを実行する前にプロパティ _liveView を self に設定します。プッシュ セグエでは、次のように prepareForSegue:sender: を実装します。

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
   if ([segue.identifier isEqualToString:@"GoToLoop"]){
       LoopCam *loopCam = (LoopCam *)segue.destinationViewController;
       loopCam._liveView = self;
    }
}

IB でセグエの識別子を設定する必要があります (ここでは GoToLoop と呼びます)。

于 2013-02-26T15:32:05.600 に答える