Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 应用程序关闭时NSNumber属性将变为零_Ios - Fatal编程技术网

Ios 应用程序关闭时NSNumber属性将变为零

Ios 应用程序关闭时NSNumber属性将变为零,ios,Ios,我有一个名为recordingNumber的带有NSNumber属性的singleton对象,我用它来跟踪应用程序中的录制。首次打开应用程序时,recordingNumber设置为零,并在每次将新录制保存到应用程序时递增。当我关闭我的应用程序,然后重新打开时,数字会回到零,并且每一条新的录音都会覆盖一条旧的录音。当应用程序打开和关闭时,如何防止属性变为零?我正在使用核心数据来存储我的所有记录文件-我应该创建一个单独的实体来存储这一个值吗 @property (nonatomic) NSNumbe

我有一个名为recordingNumber的带有NSNumber属性的singleton对象,我用它来跟踪应用程序中的录制。首次打开应用程序时,recordingNumber设置为零,并在每次将新录制保存到应用程序时递增。当我关闭我的应用程序,然后重新打开时,数字会回到零,并且每一条新的录音都会覆盖一条旧的录音。当应用程序打开和关闭时,如何防止属性变为零?我正在使用核心数据来存储我的所有记录文件-我应该创建一个单独的实体来存储这一个值吗

@property (nonatomic) NSNumber * recordingNumber;

有很多方法可以做到这一点,最简单的方法是创建一个plist,其中可以包含数字和其他应用程序设置。当应用程序打开时,plist将以默认值读取或创建,并且每次更新或关闭应用程序时都会保存这些值


您也可以在核心数据中创建一个单独的表来包含该数字,但如果表结构实际上需要一个表来包含历史摘要(如MTD month to date和YTD totals),则这样做会有些过分

要在应用程序实例之间保留少量数据,可以将数据存储在NSUserDefaults中:

要保存数据,请执行以下操作:

[[NSUserDefaults standardUserDefaults] setObject:self.recordingNumber forKey:@"recordingNumber"] 
[[NSUserDefaults standardUserDefaults] synchronize];
在应用程序启动中,从NSUserDefaults读回此内容

self.recordingNumber = [[NSUserDefaults standardUserDefaults] objectForKey:@"recordingNumber"]

你能演示一下存储属性是如何工作的吗?是否声明了NSN编号?也就是说,'YadiaYaDa',YaDaNaseNo.ByeBeNeByBi认为你必须考虑使用NSULDERDES。你不能只算你的录音吗?啊,所以关闭应用程序你就意味着退出它。没有主动辞职,对吗?@quellish是的,如果我不清楚,很抱歉。