所以我只是进入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
变量,而不是要求用户输入。
我希望我有意义。我会喜欢任何关于我应该怎么做的建议或指导。 ......也许我正在过度思考哈哈。
答案 0 :(得分:1)
实现这一目标的一种方法是使用NSUserDefaults
。您可以使用-setInteger:forKey:
存储值,并使用-intergerForKey:
读取值。示例代码:
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSInteger ticketNumber = [defaults integerForKey:@"lastTicketNumber"];
ticketNumber++;
// use it
[defaults setInteger:ticketNumber forKey:@"lastTicketNumber"];
我认为您希望在项目中的某一点保存包括用户数据在内的所有数据。在这种情况下,您应该将票号保存在存储其他数据的地方,无论它是什么。这是为了保持数据的一致性。