将变量传递给在 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 变量从一个角色(在一个主机上运行)传递给在同一剧本中的另一台主机上运行的另一个角色