我有一个Swift应用程序,我正在努力,允许用户保存有关其个人资料的各种设置。在我的代码中,有时候知道这些设置/首选项对于应用程序的业务逻辑很重要。其中一个是用户工作的地方(他们的工作,(在sqllite数据库中有一行ID作为主键)。用户可以在任何给定时间在应用程序中选择一个(并且只有一个)把它想象成一个简介 - 他们可以完成许多工作,但只选择一个。
以下是了解workid配置文件很重要的场景:
现在我认为快速而肮脏的方法就是在实用程序类中为nsuserdefaults创建一个包装类。当然,您的所有信息都存储在sqllite中,但您当前选择的应用程序首选项位于nsuserdefaults中,因为我可以更改它(并且它将更改)。这将与我的其他横切关注点相关,例如日志记录/错误处理,我可以在所有工作中使用类似的实用程序类。
我可以从我的应用程序的每一层调用这个帮助器/实用程序类这一事实看起来像是一个你不会做的典型的红旗。无论是日志记录还是用户服务来获取信息。
我很想知道其他人在这样的场景中做了什么。当您需要来自应用程序各处的nsuserdefaults时,答案是“关心谁”,只需要创建一个实用工具课程并在任何需要的地方进行调用" ?或者是否有其他人使用精心设计的iOS应用程序进行的最佳实践?我知道AOP是人们倾向于推荐的东西。这在iOS中占有一席之地吗?
非常感谢stackoverflow:)
答案 0 :(得分:1)
允许用户在任何给定时间在应用中选择一个(且仅一个)。
这告诉我你要创建一个单例类。每次要更改配置文件时,都会点击单例类并进行设置。该类封装了获取/设置所需内容的所有逻辑,以及访问器功能。这就是我多年来一直在用我的ObjC代码做的事情,而且它对我很有帮助。它非常容易调试,其余代码需要对配置文件管理一无所知(除非它是您选择配置文件的UI部分)。