Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.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 userDefaults的性能是否比写入文件更差?这有多糟糕?_Ios_Swift_Nsuserdefaults - Fatal编程技术网

Ios userDefaults的性能是否比写入文件更差?这有多糟糕?

Ios userDefaults的性能是否比写入文件更差?这有多糟糕?,ios,swift,nsuserdefaults,Ios,Swift,Nsuserdefaults,我收到了Xcode中的崩溃报告,到目前为止,这些报告并没有什么帮助。我已经更新了我的应用程序,以检测应用程序何时崩溃,并请用户告诉我们应用程序崩溃时发生了什么 这就是说,我正在尝试将最后一个“输入”的方法存储在userDefaults中,以便我可以将其包含在他们的电子邮件中。。。。但我不想让应用程序慢下来。因为我正在尝试检测崩溃前启动了什么,所以我也需要进行同步。。。否则我会丢失更新。在每个方法的开头,我需要将类和方法写出为userDefaults&sync。我每次都会覆盖相同的“LastMet

我收到了Xcode中的崩溃报告,到目前为止,这些报告并没有什么帮助。我已经更新了我的应用程序,以检测应用程序何时崩溃,并请用户告诉我们应用程序崩溃时发生了什么

这就是说,我正在尝试将最后一个“输入”的方法存储在userDefaults中,以便我可以将其包含在他们的电子邮件中。。。。但我不想让应用程序慢下来。因为我正在尝试检测崩溃前启动了什么,所以我也需要进行同步。。。否则我会丢失更新。在每个方法的开头,我需要将类和方法写出为userDefaults&sync。我每次都会覆盖相同的“LastMethod”键,而不是保留多个值

想法还是选择?

  • UserDefaults可以保存整数、布尔值、字符串、数组、字典、日期等,但您应该注意不要保存太多数据,因为这会减慢应用程序的启动。所以你不应该保存大数据

  • 还有一种synchronize()方法可以强制保存数据,但苹果表示我们不应该使用


在我的游戏中,我每秒都会将几个Int和Double数组保存到userDefaults(自动保存功能),在iphone11上效果很好


启动应用程序需要一秒钟,因此可以跳过它。

最好直接将其保存到文件中,但在您的情况下,差异不会明显。绝对没有性能问题。这是一个绝对没有问题的性能方面的问题。这将只是一个小字符串,可能是50-180个字符。数据不多。我认为需要synchronize()的唯一原因是在应用程序崩溃时强制保存。如果数据没有保存,并且崩溃了,那么整个工作就没有意义了。