ios - 如何将数据从一个 View 传递到下一个 View ?

标签 ios objective-c

我正在制作一个下载排队系统来下载视频。处理下载的排队代码在另一个 View Controller 中。现在我的问题是如何将下载的 URL 传递给另一个 View 而不像这样推送到另一个 View Controller :

 ViewConntroller *View = [[ViewConntroller alloc] init];
    view.url = ""
   [self presentModalViewController:View animated:NO];

我也知道有一种方法可以通过委托(delegate),但您是否也必须权衡才能调用 View ?

编辑 我有一个 NSURL,我想在其中发送到另一个 viewconntroller。我知道有协议(protocol)的方法或上面的方法。但是我不想提供一个 viewconntroller 来发送信息。我只想在按下按钮后立即发送它,而无需转到 View 本身

最佳答案

I do not want to present a viewconntroller to send the info. I just want to send it as soon as the button is pressed without going to the view itself

通常,您不能这样做:您可以将数据发送回 View Controller 链,但只有当您呈现要向其发送数据的 View Controller 时,才有可能将数据向前发送。

您需要采用不同的方法来解决您的问题:与其将信息转发到另一个 View Controller ,不如将该数据发送到一个公共(public)位置,以便另一个 View Controller 在显示后可以找到它。这个“公共(public)场所”通常被称为模型(在模型- View - Controller 的意义上)。使用 URL 队列创建一个单例对象,并从第一个 View Controller 调用其 addUrl: 方法。然后,第二个 View Controller 可以调用 getUrlQueue 方法来检查所有排队的 URL。

Illustration

关于ios - 如何将数据从一个 View 传递到下一个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640102/

相关文章:

ios - 如何使 UIImageView 的一部分透明以便在下面的层中显示 View

ios - 从传递协议(protocol)实例的数组中删除对象

iphone - RestKit 中的对象映射

objective-c - NSInteger 真的应该到处使用吗?

ios - AFNetworking 有时无法使用某些 WiFi 网络进行连接

objective-c - swift block 内的协议(protocol)语法

ios - 使用全局常量时体系结构的重复符号

objective-c - 无法弄清楚如何在 UIViewController 中一起使用 UINavigationControllerDelegate 和 pushViewController

ios - + 导出 session 与 Assets :presetName: returning nil on iOS7

objective-c - NSTextField 中的 NSButton