从不同视图的表中加载 WebView

Posted

技术标签:

【中文标题】从不同视图的表中加载 WebView【英文标题】:Load WebView From Table In Different View 【发布时间】:2012-03-05 21:58:08 【问题描述】:

今天我正在处理一个有趣的问题。现在,我有一个包含 web 视图的第一个视图,然后是一个单独的视图,其中包含一个表,其中包含一个可变数组中的 URL 列表。

我的问题是, 如何从第一个视图的表中选择的行中将 URL 加载到单独的 viewController 中的 web 视图中?

我想我会需要这个:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath 


到目前为止,我所做的是为 webViewController 设置一个属性,而我现在正在做的是将它从书签视图传递给 webView,但我们将不胜感激。

感谢您的宝贵时间!

杰克

【问题讨论】:

我不知道为什么给它一个-1。如果您需要更多信息或澄清,我很乐意提供。 【参考方案1】:

好吧,您要么需要实现一个显式的中间类,要么选择采用一种能够实现通信的设计模式。在 ios 中想到的两个是委托模式或通知模式。

在这种情况下,我的建议是授权。您将在列表控制器上定义一个委托协议,并且您将遵守您的 Web 视图类中的协议。在链上的某个地方,必须将 webview 分配为 table view 的委托,然后,在 tableView 的 didSelectRowAtIndexPath 中,您将实现委托调用,将 URL 传递给委托,然后委托将您的 URL 加载到它自己的视图中。

How do I create delegates in Objective-C?

【讨论】:

现在,我知道 NSUserDefaults 不应该用于传输信息,但是您如何看待将单元格中选择的项目传递给 NSUserDefaults,然后以某种方式将其带回来? 是的,这不是真正的默认值。您所追求的解决方案是使用任意数量的方法(如果您真的想保持它真的简单,只需使用 NSNotifications),我只是看不出有任何理由诉诸写作本质上是用户默认捆绑包中的 ivar... 感谢您的洞察力。我真的想让它尽可能简单,因为我实际上只需要将字符串从一个类移动到另一个类。我遇到的问题是我应该如何自动加载它。 您的委托方法将负责重新加载 web 视图。

以上是关于从不同视图的表中加载 WebView的主要内容,如果未能解决你的问题,请参考以下文章

使用 Hibernate 从地图中的表中加载数据作为列名与值

在每个类型继承方案的表中加载 EF 导航属性

在 NavigationView 中加载视图的标准方法是啥,每个视图都拥有一个从 API 填充的模型?

如何从图库中加载图像视图中的图像?

Android Recycler 视图使用异步任务从图库中加载图像

iOS:滑动手势以在同一控制器中加载不同的数据