将变量传递给在 TabBar 中调用的视图

Posted

技术标签:

【中文标题】将变量传递给在 TabBar 中调用的视图【英文标题】:Passing a variable to a view called in a TabBar 【发布时间】:2012-02-01 17:30:07 【问题描述】:

我在将变量传递给视图时遇到问题。

我有三种观点:

ListagemReceitas - 使用 TableView 查看

BlocoReceita - 使用 TabBar 查看

CapaReceita - 使用要显示的数据查看

流程是这样的:

在点击 tableView 到视图时,我将视图称为 ListagemReceitas BlocoReceita 与标签栏第1项链接的视图CapaReceita,在调用视图BlocoReceita时显示,需要接收一个变量来定位要显示的信息;

当我在视图中点击 BlocoReceita tableView ListagemReceitas 调用视图时,我使用下面的代码直接进入视图 CapaReceita 变量:

Receita_Capa_iPhone detailViewController = * [[Receita_Capa_iPhone alloc] initWithNibName: @ "Receita_Capa_iPhone" bundle: nil];
NSDictionary * dict = [arrCanapes objectAtIndex: indexPath.row];
[detailViewController setCodigo: [dict objectForKey: @ "code"]];

只有当视图被加载 CapaReceita (viewWillAppear) 时,数据才被检索为 null。

我尝试过传递代码来查看 BlocoReceita,它 viewWillAppear 传递代码来查看 CapaReceita,但无济于事。

我直接在view中点击view CapaReceita tableView ListagemReceitas进行了测试调用,然后就可以了。但是当我调用这个视图并且 BlocoReceita CapaReceita 自动加载视图时,数据是无效的。

谁能告诉我可能出了什么问题?你有什么具体的方法吗?

我用代码调用视图 BlocoReceita:

[self.navigationController presentModalViewController: receitaViewController animated: YES];

因为它有一个独立于 TabBar ListagemReceitas 视图的 TabBar,所以不能使用“pushViewController”。

【问题讨论】:

【参考方案1】:

在后面加上一个 NSLog 语句:

NSDictionary * dict = [arrCanapes objectAtIndex: indexPath.row]; NSLog(@"dict = %@",dict); // 添加这个

我打赌你会发现字典没有被正确实例化。

【讨论】:

以上是关于将变量传递给在 TabBar 中调用的视图的主要内容,如果未能解决你的问题,请参考以下文章

如何使用事件将 json 输入传递给在无服务器中部署的 Cron 计划 Lambda?

Codeigniter:从视图中调用视图时的变量范围。奇怪的

将 Ansible 变量从一个角色(在一个主机上运行)传递给在同一剧本中的另一台主机上运行的另一个角色

如何通过调用函数将数据从视图传递到子视图?

如何将 ServletRequest 传递给在 graphql-java 中执行 i/o 的 pojo

快速在视图之间传递和调用变量和函数