UserDefaults 的多个设置导致显示速度变慢

Multiple setting of UserDefaults resulting in slower display

我有一个相当广泛的应用程序,我在其中存储了大量数据。 CLLocation、Arrays、CGPoints 等等。有时需要在设备上保存所有这些变量,所以我使用 UserDefaults。然而,在切换 ViewControllers 一段时间并简单地使用应用程序(不断更改数据 => 不断保存它)之后,我到了一切运行缓慢的地步。

现在,假设我有或多或少的三个二维数组,假设我想将 5 个整数保存到 UserDefaults。

每次我更改其中一个变量时,我 "update" 都使用相同的命令:

UserDefaults.standard.set(data, forKey: "UDdata"). 

所以每次我想要更改数据时,我都会通过该特定评论进行更改。我想每次我这样做时,我都应该以某种方式摆脱密钥 UDdata 的先前数据,然后用相同的密钥字符串设置它?有关该事项的信息将很有用。提前致谢

原因是您滥用了用户默认值。它们将存储小值,如标志,以检测首次启动、偏好等。与其将数据存储在 Userdefaults 中,不如尝试使用 CoreData 或 SQLite。这也更容易使用。

核心数据: https://www.raywenderlich.com/145809/getting-started-core-data-tutorial

SQLite : https://www.raywenderlich.com/123579/sqlite-tutorial-swift