Xcode Webview 输出“空”

Posted

技术标签:

【中文标题】Xcode Webview 输出“空”【英文标题】:Xcode Webview Output "null" 【发布时间】:2012-07-29 23:03:32 【问题描述】:

我正在开发一个 iPad 应用程序,该应用程序应该将网站输出到另一个视图,但是当第二个视图加载时,它出现为空。我正在使用情节提要链接一个按钮来推动 Web 视图控制器并将网页加载到该视图中。代码在第一个视图中运行良好(由 NSLog 指示),但 NSURL 永远不会进入第二个视图(NSLog "Null")。

第一次查看时 IBAction 中的代码:

self.sanctuaryWebViewController = [[SanctuaryWebViewController alloc]init];
self.sanctuaryWebViewController.URL = [NSURL URLWithString:@"http://www.website.org"];

ViewDidLoad 第二个视图控制器中的代码:

NSURLRequest *requestObject = [NSURLRequest requestWithURL:URL];
[webView loadRequest:requestObject];

我已经在一个 Iphone 应用程序中完成了这项工作,很好地声明了一个导航委托来推送视图,但不确定使用情节提要或拆分视图是否与问题有关。我花了几个小时寻求帮助并尝试了几种不同的编码方式,但没有成功。我想我很接近,但并不完全在那里。使用 Xcode 4.4 并在 OS 10.8 上运行; ios 5.1

感谢您的任何建议

【问题讨论】:

【参考方案1】:

您能否向我们展示更多第二个视图控制器的代码?我假设您正在使用ARC?我假设你的意思是结果是 nil 而不是 NSNull (有区别)?您是否将第二个视图控制器中的 webView 连接到 Storyboard/IB 中的 UIWebView?

祝你好运!

【讨论】:

感谢您的反馈。我正在使用ARC。我怀疑你期待更多的代码。我的 iPhone 应用程序仅在第二个视图控制器的 viewDidLoad 方法中包含上述代码,并且按预期工作。我没有理由认为它在 ipad 版本的应用程序中不起作用。该方法中的其他代码用于活动指示器和 NSLog。我假设 null 因为这就是 NSLog 显示它的方式。 webview 通过 Storyboard/IB 连接到 UIWevbView 的属性。我还应该补充一点,推送有效,但 webview 不加载网页。【参考方案2】:

我两次声明 UIWebview。 “webview”和“_webview”。我删除了在 .h 中声明的即时变量并保留了该属性。确保使用了“_webview”。此外,由于我将 segue 链接到按钮,我摆脱了 IBAction 方法并用调用 segue 的 prepareForSegue 方法替换它。真的知道我在用故事板做什么。我知道 segue 方法,但没有意识到它们没有像 IBAction 方法那样链接到按钮。它们似乎以与调用 xib 文件类似的方式使用,但调用 segues。

【讨论】:

以上是关于Xcode Webview 输出“空”的主要内容,如果未能解决你的问题,请参考以下文章

javascript 提供用于从React-Native WebView发送和接收消息的示例实现(使用postMessage / onMessage WebVie)

Cordova 插件初始化

xcode 解析来自 webview 的 html id 数据

比较 NSURL 字符串和简单的 Swift 字符串

Android WebView 重定向问题

WebView简单使用