首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iPhone -在两个不相邻的控制器之间传递数组

iPhone -在两个不相邻的控制器之间传递数组
EN

Stack Overflow用户
提问于 2009-06-23 13:57:01
回答 1查看 992关注 0票数 0

我正在构建一个应用程序,它首先加载一个“下载”视图控制器,该控制器通过API调用获取一组数据。一旦返回数据,应用程序就会隐藏这个视图控制器的视图,并加载一个标签栏控制器,其中包含两个导航控制器。

推到第一个导航控制器上的第一个视图是一个表视图。正是在这个表视图中,我需要在初始的“下载”视图控制器中显示从API调用中检索到的数据。

有人能给我解释一下如何在“下载”和表视图控制器之间传递这些数据吗?考虑到他们并不了解对方。

一个重要的注意事项是,必须在加载选项卡栏控制器之前获取数据,因此不可能简单地从将要使用它的表视图控制器中获取数据。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-06-24 04:09:00

您的数据从属于应用程序,因此应用程序委托可以保留指向数据的指针,然后两个视图可以使用[[UIApplication sharedApplication] delegate]访问它。

另一种选择是在下载完成时向应用程序代理发送一条带有数据的消息。我假设你已经在做这样的事情了,因为你说应用程序隐藏了视图控制器的视图,而不是视图控制器隐藏自己。不知何故,它必须知道下载已完成。因此,在下载控制器中:

代码语言:javascript
运行
复制
- (void) downloadFinished {
    [listener downloadFinished:data];
}

在您的应用程序委托中(前面代码片段中的listener ):

代码语言:javascript
运行
复制
- (void) downloadFinished:(NSData *)data {
    CustomViewController *c = [[[CustomViewController alloc] initWithData:data] autorelease];
    [downloadView removeFromSuperview];
    [window addSubview:c.view];
}

您的自定义视图控制器负责加载NIB并保存数据以供表访问。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1032719

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档