我构建了一个viewControllers层次结构,在我的故事板场景中,我需要提前移动两个笔尖。问题是,在我返回控制器后,它似乎丢失了从DB检索所需数据很重要的id。一个笔尖前面好,但是在两个笔尖之后没有。
此外,返回后-viewWillAppear
和-viewDidLoad
都不会被解雇。提前谢谢。
我检查了segue是否真的提供了正确的数据。最后的笔尖得到了正确的ID。因此,问题不是在segue时数据丢失。
CODE:
第一个笔尖从主笔尖接收数据。 viewWillAppear
从数据库中提取数据并填写标签等。
导航从这里开始。
if([segue.identifier isEqualToString:@"toDublicates"])
{
DublicatesViewController *controller=(DublicatesViewController*)[segue destinationViewController];
// controller is tableViewController
controller.typeID=self.typeID;
controller.nominalID=self.nominalID;
controller.regionID=self.regionID;
controller.subCountryID=self.subCountryID;
KMObj *obj=[self.arr objectAtIndex:0];
controller.title=[NSString stringWithFormat:@"Dublicates | KM%@",obj.kmRef];
}
第二个笔尖。 NSLog显示数据正常。搬到最后的笔尖
if([segue.identifier isEqualToString:@"toCreateDublicate"])
{
NewDublicateViewController *controller=(NewDublicateViewController*)[segue destinationViewController];
controller.typeID=self.typeID;
controller.subCountryID=self.subCountryID;
controller.nominalID=self.nominalID;
controller.regionID=self.regionID;
controller.numberOfExistingDublicates=[_arr count];
}
在最终控制器中触发的方法
-(void)back {
[self.navigationController popViewControllerAnimated:YES];
}