gpt4 book ai didi

iphone - 如何在程序重新运行时递增整数并保存以供使用?

转载 作者:行者123 更新时间:2023-12-01 17:45:28 25 4
gpt4 key购买 nike

我试图以一种不会导致重复或丢失数字的简单方式增加一个数字。这个数字最终将作为订单号存储在我的 coreData 实体的一个字段中,这就是为什么我不能有重复或遗漏的数字。

我有一个输入订单的 View ,当它初始化时,它必须提供正确的订单号,这就是我编写的代码:

-(void) viewDidLoad {
// If no orders have previously been entered the order number will be changed from 0 to 1
if (orderNumber == 0) {
orderNumber = orderNumber + 1;
}
// If orders have previously been entered the order number will be given the value that has previously been stored in orderNumber
else orderNumber = orderNumber;


NSLog(@"The Order Number is %d",orderNumber);
}

当 View 上的表单完成时,按下完成按钮,这将完成订单。 View 上的所有文本字段都被清除,订单号增加 1,以便可以输入下一个订单。
-(void) doneButtonTapped:(id)sender{
orderNumber = orderNumber + 1;
NSLog(@"orderNumber is increased to %d",orderNumber);
}

我的头文件包括以下内容:
int orderNumber;
@property (nonatomic,assign) int orderNumber;

这在应用程序运行时有效,但如果我退出应用程序并重新运行它,我的 orderNumber 将从 1 开始。

当应用程序再次运行时,如何存储/保存与 orderNumber 关联的值以在 viewDidLoad 中使用?

我的增量方法是否可行或有更好的方法?我使用过 int,但我看到其他人使用 NSNumber,我不确定使用其中一种是否有优缺点。

任何帮助/建议将不胜感激。

最佳答案

您可以使用 NSUserDefaults存储int s 和其他基本类型(BOOLfloatNSStringNSArray)。

例如,您可以检索 int使用

NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
int orderNumber = [prefs integerForKey:@"orderNumber"];

然后保存 int使用
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger:orderNumber forKey:@"orderNumber"];

必要时也可以调用
   [prefs synchronize];

以确保您访问的是最新信息。如果您正在访问此 int,这将特别有用。在您的应用程序的多个位置。

关于iphone - 如何在程序重新运行时递增整数并保存以供使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7735589/

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