我想知道在UserDefault中创建保存值的镜像是否是一种好习惯?
例如,如果我在UserDefault中存储参数“A”,那么在本地维护此值的副本并在UserDefault更改时更新它是有用的吗?
在我的应用程序中,我有必要经常读取参数“A”,在这种情况下,我认为从ivar而不是从NSUserDefault读取更好,但我不确定,所以我问如果有一个好的做法可以遵循。
答案 0 :(得分:11)
对我来说似乎是额外的工作和premature optimization。
在我的所有应用中,我总是在每次需要时检索NSUserDefaults,这从来都不是问题。保持代码简短明了。如果它成为一个问题,你可以轻松解决它。
答案 1 :(得分:0)
性能无关紧要,因为NSUserDefaults
并非旨在保留大量信息或经常使用以致导致性能问题。
对于代码封装和重用,不要直接在执行与您的首选项无关的特定任务的代码上使用NSUserDefaults
。例如:对图像着色的方法应该将用户偏好作为参数。直接在其他任何地方使用它。