在变量

时间:2015-04-29 04:55:29

标签: objective-c

所以我只是进入Objective-c几个月,并且编写了一个相当简单的程序,它会提示用户输入 firstName lastName ,让我们说一句 favoriteColor 。然后,我通过将内容输出到.txt文件来存储这些用户输入。每次执行程序时,都会通过 .txt <将人物对象(具有全名和喜欢的颜色)添加到NSOutputStream文件的列表中/ strong> class。

我想要做的是建立一个顺序票务系统。因此,每次执行程序时,都会显示一个故障单编号(允许调用此变量 topTicket 以便清楚)被分配给新的人物对象,并作为各种ID以及名称和颜色打印出来。

所以,让我们在前两次运行我的项目后说文本文件包含以下内容:

FAVORITE COLOR INVENTORY

Name:  John Doe
Favorite Color:  Red
Ticket:  #031354

Name:  Jane Doe
Favorite Color:  Blue
Ticket:  #031355

然后我希望下次打开项目文件时,票证变量( topTicket )如下:

topTicket = 031356

我想知道如何让程序在每次执行时都覆盖这个初始值。因此,下次我在xCode中打开我的项目时,在当天早些时候运行它之后,topTicket现在将比以前多一个( 031354,在这种情况下),自我增加并覆盖以前的值。这样我所要做的就是每次写入topTicket文件时调用此.txt变量,而不是要求用户输入。

我希望我有意义。我会喜欢任何关于我应该怎么做的建议或指导。 ......也许我正在过度思考哈哈。

1 个答案:

答案 0 :(得分:1)

实现这一目标的一种方法是使用NSUserDefaults。您可以使用-setInteger:forKey:存储值,并使用-intergerForKey:读取值。示例代码:

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger ticketNumber = [defaults integerForKey:@"lastTicketNumber"];
ticketNumber++;
// use it
[defaults setInteger:ticketNumber forKey:@"lastTicketNumber"];

我认为您希望在项目中的某一点保存包括用户数据在内的所有数据。在这种情况下,您应该将票号保存在存储其他数据的地方,无论它是什么。这是为了保持数据的一致性。