将NSIndexPath传递给新视图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将NSIndexPath传递给新视图相关的知识,希望对你有一定的参考价值。
我有一个真正的麻烦将NSIndexPath传递给我的新视图。这是应用程序的工作方式:
我的nab br中有一个UIBarButtonItem,点击它然后你得到一个popover视图,这显示了一堆东西。我需要从我的主视图中获取一个NSIndexPath,这个popover视图。
我在我的popover视图类中有一个NSIndexPath的属性,并且popover转换在我的storyboard中连接起来。
然后我有这段代码来传递视图的索引路径:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"statsPopover"])
{
StatsViewController *statsVC = [segue destinationViewController];
statsVC.selectedIndex = stageSelectionTable.indexPathForSelectedRow;
}
}
但是,在调用此方法时,实际上不会在视图之间发送索引路径。弹出窗口上的索引路径始终是默认值,0,0行和节。
答案
你说你从调试/记录中知道该方法正在运行,你的if
语句被触发,而stageSelectionTable.indexPathForSelectedRow
具有你期望的值。
做这种诊断会让您走上解决问题的正确道路。保持它 - 如果你使用NSLog
或调试器测试其他一些东西,你应该能够找到问题。
- 你知道
statsVC
是非nil
吗?如果它是nil
,你设置selectedIndex
的消息什么都不做。 statsVC
是你期望的课吗?例如,如果你的popover中的(table?)视图嵌入在导航控制器中,segue.destinationViewController
将指向导航控制器,你需要查看其子视图控制器数组以找到你正在寻找的那个。- 你的
StatsViewController
类使用的selectedIndex
属性正在使用的访问器方法是什么? (如果它是强/保留属性的合成访问器,这应该不是问题。) - 在你的
StatsViewController
课程中,你是否尝试在selectedIndex
实际设置之前使用它?在prepareForSegue:sender:
中设置属性然后在viewDidLoad
中使用它应该可以正常工作,但在awakeFromNib
中使用它可能不会,并且在init...
方法中使用它肯定不会。
以上是关于将NSIndexPath传递给新视图的主要内容,如果未能解决你的问题,请参考以下文章
需要为 iCarousel 创建一个 NSIndexPath 以将信息传递给其他视图控制器
如何将特定的 ListTile 变量传递给新的页面路由 onTap?