gpt4 book ai didi

ios - 在两个 View Controller 之间传输时将 NSArray 存储到文件

转载 作者:行者123 更新时间:2023-11-29 03:06:00 24 4
gpt4 key购买 nike

我正在开发一个 iPhone 应用程序,我的代码中有两个 View Controller ,让它们成为 ViewControllerA(VCA) 和 ViewControllerB(VCB),VCA 可以通过 segue 推送到 VCB,VCB 可以返回到 VCA。以下是我的 VCA 中的代码:

- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"placePiece"]) {
VCB *vcb = (VCB*) segue.destinationViewController;
vcb.shipsOnBoard = indexRecorder;
}
}

到达 VCB 后,我会在那里做一些事情。我想做的是将数据保存在 VCB 中,我想在用户单击 VCB 左上角的后退按钮时开始保存,我尝试在 VCB 的 prepareForSegue 方法中执行此操作,但似乎未调用该方法。此外,我还想在用户再次转到 VCB 时开始读取数据,我想知道每次用户从 VCA 转到 VCB 时将调用哪个方法,反之亦然,以便我可以在那里进行读写操作。谢谢。

最佳答案

一般来说,当您按下一个 View Controller 然后从那里返回到前一个 View Controller 时,您没有使用 segue,因此不会调用 prepareForSegue。相反,您应该考虑使用 willMoveToParentViewController:。当父 View Controller 被设置为 nil 时,当前 View Controller 将从堆栈中弹出。此时,您可以调用父 View Controller 上的方法以使用状态信息更新它。

willMoveToParentViewController: 也将在创建和显示 VCB 时调用(在 segue 期间添加到堆栈)。

另一种方法是将 VCA 设置为 VCB 的 delegate,并让 VCB 在相关更改后更新 delegate

关于ios - 在两个 View Controller 之间传输时将 NSArray 存储到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22765678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com