0

わかりましたので、webView の現在の URL を取得して、解析して数値を分離できるようにしようとしています。しかし、変数 _webURL は URL で設定されていません。次のように URL がログに出力されません。なぜですか?:

初期表示の実装:

@synthesize adWebView1;
@synthesize webURL = _webURL;

...

- (void)viewDidLoad
{
    [adWebView1 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.web.org/bannercontroller.php"]]];

    _webURL = adWebView1.request.URL.absoluteString;
    NSLog(@"The Current URL is", _webURL);

    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

- (void)viewDidUnload
{
    adWebView1 = nil;
    [super viewDidUnload];
    // Release any retained subviews of the main view.
    // e.g. self.myOutlet = nil;
}

私はそれを次のように変更しました:

- (void)viewDidLoad
{
    [adWebView1 loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.web.org/bannercontroller.php"]]];

    NSString *rawURL = [adWebView1 stringByEvaluatingJavaScriptFromString:@"location.href;"];

    NSLog(@"Das URL ist", *rawURL);
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
}

次のエラーが発生しています:

ベリアディック関数を使用して、インターフェイス タイプ 'NSString' のオブジェクトを値で渡すことはできません。

4

1 に答える 1

0

リクエストを使用して webview を作成しますが、そこからはそのリクエストを使用しなくなるため、リクエスト オブジェクトが更新されない可能性があります。

webview を作成すると、リクエストが開始されます。リクエストが完了するまで待機しないため、リクエストがまだ実行中かどうかを確認する必要がある場合があります。

後で URL を取得するには、次を使用できます。

NSString *rawLocationString = [adWebView1 stringByEvaluatingJavaScriptFromString:@"location.href;"];

ですでに利用可能かどうかはわかりませんviewDidLoad

ところで: に電話しないでくださいURL.absoluteString。技術的には機能するかもしれませんが、正しくありません。absoluteString はメソッドであり、プロパティではないため、アクセスしないでください。

于 2012-09-23T20:49:57.303 に答える