我尝试使用unwind segue传递对象。我的按钮成功展开,但视图中的所有对象都是重新初始化的。我使用prepareForSegue
方法成功准备我的对象,但是当我访问目标segue中的viewController
时(通过操作按钮),所有对象都被重新初始化或未分配。
我对此很新,所以任何建议都会受到赞赏!这是我遇到麻烦的代码。
//在我的视图控制器中调用prepareForSegue,我试图放松。
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"ReturnInput"])
{
GLUPipeDataController *dataController;
dataController.length = [[NSNumber alloc] initWithFloat:1.5];
self.dataController = dataController;
[self.dataController print];
}
}
//在目标视图控制器中调用此完成。它通过控制 - 将解扣拖拽到连接面板上的出口例程在IB中链接。然后,我在文档大纲中更新了展开segue的名称。
- (IBAction)done:(UIStoryboardSegue *)segue
{
if ([[segue identifier] isEqualToString:@"ReturnInput"])
{
GLUEditViewController *editController = [segue destinationViewController];
if (editController.dataController)
{
self.dataController = editController.dataController;
[self.dataController print];
[[self tableView] reloadData];
}
}
if ([[segue identifier] isEqualToString:@"ReturnInserts"]) {
GLUEditInsertsViewController *editInsertController = [segue destinationViewController];
if (editInsertController.listInserts) {
self.dataController.listInserts = editInsertController.listInserts;
[[self tableView] reloadData];
}
}
}
[self.dataController print]
中的调用prepareForSegue
会打印属性。但是,done方法中的相同调用会打印一个新初始化的对象。