gpt4 book ai didi

objective-c - 更改 View 时如何保存数据

转载 作者:行者123 更新时间:2023-11-29 04:53:25 24 4
gpt4 key购买 nike

我希望有一个简单的问题(但我无法解决它:))我有2个 View ,在 View 1上我有UILabels,如果我导航到 View 2然后去,我可以通过单击按钮更改文本返回 View 1 文本已重置。

当 View 更改时,有什么方法可以保留标签上的文本吗?

最初我使用:

-(IBAction) napButton: 
(id) sender{ nap *nap1 = [[nap alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:nap1 animated:YES];

这执行了一个简单的 View 切换。根据下面的建议,我将其更改为:

-(IBAction) napButton: 
(id) sender{ nap *nap1 = [[nap alloc] initWithNibName:@"nap" bundle:nil];
[self.navigationController pushViewController:nap1];
[nap1 release]; } }

按钮不执行任何操作,我收到警告UINavigationController 可能无法响应 -pushViewController

最佳答案

使用UINavigationController .在内存受限的设备中,这是推送或弹出新 View 同时保留先前 View 中的数据或状态的最佳方式。

UINavigationController 的实例可以在代码中或在 XIB 文件中相对轻松地创建。它被认为是一个堆栈:它有一个 Root View Controller ,然后新的 View Controller 可以被插入堆栈(通常当用户点击表中的一行时)或从堆栈中弹出(通常通过按后退按钮) )。

我们有 4 种方法用于在堆栈中导航用户:

– pushViewController:animated:
– popViewControllerAnimated:
– popToRootViewControllerAnimated:
– popToViewController:animated:

例如,如果您想从 view1 移动到 view2,则需要从 view1 执行此操作 -

SecondViewController *secondView = [[SecondViewController alloc]
initWithNibName:@"SecondViewController" bundle:nil];
[self.navigationController pushViewController:secondView];
[secondView release];

要返回到之前的状态,即从 view2 到 view1,您需要从 view2 执行此操作 -

[self.navigationController popViewControllerAnimated:YES];

这应该以最有效的方式解决您的问题。

关于objective-c - 更改 View 时如何保存数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8430547/

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