我有一个名为recordingNumber的NSNumber
属性的单例对象,我用它来跟踪我在我的应用程序中的录音。首次打开应用程序时,recordingNumber设置为零,并在每次将新录制内容保存到应用程序时递增。当我关闭我的应用程序然后重新打开时,该数字会回到零并且每个新录制都会覆盖旧录制。当应用程序打开和关闭时,如何防止该属性变为零?我使用核心数据来存储我的所有录制文件 - 我应该创建一个单独的实体来存储这一个值吗?
@property (nonatomic) NSNumber * recordingNumber;
答案 0 :(得分:0)
有很多方法可以做到这一点,最简单的方法是创建一个可以包含数字和其他应用程序设置的plist。打开应用程序时,将使用默认值读取或创建plist,每次更新或关闭应用程序时都会保存这些值。
您还可以在核心数据中创建一个单独的表来包含该数字,但除非您的表结构实际上需要一个表来包含MTD(月初至今)和YTD总计等历史摘要,否则它将是过度的。
答案 1 :(得分:0)
要在应用实例之间保留少量数据,数据可以存储在NSUserDefaults中:
要保留数据:
[[NSUserDefaults standardUserDefaults] setObject:self.recordingNumber forKey:@"recordingNumber"]
[[NSUserDefaults standardUserDefaults] synchronize];
在应用启动时,请从NSUserDefaults
中阅读此内容self.recordingNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@"recordingNumber"]