我有一个Swift应用程序,我正在工作,它允许用户保存有关他们的配置文件的各种设置。在我的代码中,有时了解这些设置/首选项对于应用程序的业务逻辑非常重要。其中之一是用户的工作地点(他们的工作(这是以ID作为主键的sqllite数据库中的一行)。用户可以在任何给定的时间选择应用程序中的一个(和一个)。把它想象成个人资料--他们可以做很多工作,但只有一个被选中。
以下是了解工作场所配置文件非常重要的场景:
现在,我认为快速和肮脏的方法是简单地为实用程序类中的nsuserdefaults默认值创建一个包装类。当然,您所有的信息都存储在sqllite中,但是您当前选择的应用程序首选项是nsuserdefaults默认值,因为我可以更改它(而且它会改变)。这将与我的其他横切关注点类似,比如日志记录/错误处理,在这里,我可以在所有工作中使用类似的实用程序类。
我可能会从应用程序的每一层调用此助手/实用程序类,这似乎是一个典型的危险标志,您不会这样做。无论是日志记录,还是用户服务来获取信息。
我很想知道在这种情况下其他人在做什么。当你需要整个应用程序的nsuserdefault时,答案是“嗯,谁在乎呢,只要创建一个实用程序类,并在需要它的地方调用它”吗?或者,是否有其他人在精心设计的iOS应用程序中遵循的最佳实践?我知道AOP是人们倾向于推荐的东西。那在iOS里有位置吗?
谢谢如此多的堆栈溢出:)
发布于 2014-08-09 06:10:31
用户可以在任何给定的时间选择应用程序中的一个(和一个)。
这告诉我您想要创建一个单例类。每次您想要更改配置文件时,都会按单例类并设置它。该类封装了所有获取/设置所需内容的逻辑,以及访问器函数。这就是我多年来在我的ObjC代码中所做的工作,它为我提供了很好的服务。它非常容易调试,其余的代码不需要了解概要文件管理(除非它是您选择概要文件的UI部分)。
https://stackoverflow.com/questions/25213977
复制