我有
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"AvaToiminguAlustamiseKontroller"])
{
ToiminguAlustamiseKontroller*toiminguAlustamiseKontroller =
segue.destinationViewController;
toiminguAlustamiseKontroller.delegate = self;
toiminguAlustamiseKontroller.dictView2=dictView1;
self.providesPresentationContextTransitionStyle = YES;
self.definesPresentationContext = YES;
[toiminguAlustamiseKontroller setModalPresentationStyle:UIModalPresentationOverCurrentContext];
}
}
dictView1和dictView2类型是NSDictionary。由于某种原因,数据未传递给第二个View Controller(viewDidLoad中的NSLog为null)。可能是字典太大而无法在segue被触发之前传递给第二个View Controller?
我试过的随机字符串传递得很好。
取消第二个视图控制器并再次显示后,数据就会出现。
答案 0 :(得分:0)
您可能忘记了{2}中的"start": "node server/server.js"
NSDictionary和第二类alloc]init]
。
答案 1 :(得分:0)
根据手头的信息,这也是一种猜测,但是你能否确认目标视图控制器的NSDictionary * dictView2
属性是strong
而不是weak
?< / p>
此外,您是否可以再次检查此属性是否在目标视图控制器的生命周期早期设置或写入其他位置?
答案 2 :(得分:0)
viewWillAppear:(BOOL)animated
或 viewDidAppear:(BOOL)animated
中的数据,而不是 viewDidLoad:(BOOL)animated
。猜猜,问题是当再次初始化属性时,因此变为空。我想发布它作为评论,但我仍然没有足够的声誉。想一想,这可能会有所帮助。