我使用核心数据来保存动态(小)数量的实体。这些实体具有用于“显示”和“推送”的属性,我与每个实体的服务器同步。是否可以实现自己的IASKSettingsReader?
现在我想添加InApp-Settings来给用户提供更改核心数据实体中这两个设置的可能性。
因为行为和外观应该像Settings.app,我想为这种情况使用InAppSettingsKit-Project。
当我读到这个库允许实现自定义SettingsStore来保存核心数据中的值,但我需要从核心数据读取实体和设置。在我看来,不可能定义一个自己的子类IASKSettingsReader供使用。
接下来的问题是,我想在顶层使用plist来显示主设置,然后在设置的子级上显示我自己的商店。
例子:
-> Display Settings (From plist)
--> List of entities with my own reader and store to show toggles
-> Push Settings (From plist)
--> List of entities with my own reader and store to show toggles
-> Version (From plist)
-> About (From plist)
是否有可能实现这一目标,而不从头开始编写整个设置(这将是非常痛苦的,不易伸缩的)?
感谢您提前给我正确的方向!
------编辑------
我认为,一个可能的解决办法是,以保存自定义的plist在InAppSettingsKit上的应用程序启动所需要的格式,在阅读作为该子窗格源的子菜单,将自定义SettingsStore的设置保存到plist中,并将数据保存回同步方法中的核心数据。
您对这种方法有什么看法?
作为我的解决方案的补充:您无法在真实设备上的InAppSettings.bundle中写入文件。所以我写了一个自定义设置阅读器,用于在InAppSettings.bundle,Settings.bundle和应用程序文档目录中搜索plist文件,在那里生成属性文件。但令人遗憾的是,无法将自己的设置阅读器设置为视图控制器上的阅读器,因为当您打开设置屏幕的子视图时,它将被覆盖。 –