所以我看了一下NSUserDefaults的synchronize()方法上的苹果文档.见下面的参考:
https://developer.apple.com/reference/foundation/userdefaults/1414005-synchronize
该页面目前为:
因为此方法是定期自动调用的,所以只有在您无法等待自动同步时(例如,如果您的应用程序即将退出)或者您希望将用户默认值更新为磁盘上的内容,请使用此方法你没有做任何改变.
但是,我仍然不明白这个方法什么时候应该被调用?例如,每次用户更改应用程序的设置时是否应该调用它?或者我应该相信后台api会处理它?并且在内存中的设置更改后立即离开视图会导致更改丢失吗?
此外,如果调用synchronize()失败,导致用户设置无法正确更改?
此外,调用此方法的成本(性能,内存或其他)是多少?我知道它涉及从磁盘读取和写入磁盘,但这真的需要花费很多精力在手机上吗?