【问题标题】:How to simplify in app Application Settings management?如何简化应用程序设置管理?
【发布时间】:2026-02-02 22:30:01
【问题描述】:

我相信每个 cocoa-touch 程序员都必须面对这个问题:我知道 Apple 希望每个应用程序都将其设置放在“设置”应用程序中。但就定制而言,它提供的功能非常有限。此外,最好在应用中放置一些设置,因为它们经常更改。
在这种情况下,开发人员必须在自己的应用程序中实现设置管理。问题是,用一个简单的 plist 重新实现可以在设置应用程序中轻松管理的所有基本内容是相当过分的。是否已经创建了某种框架/库来简化事情,也许可以将类似的 plist 作为输入?
一般来说,您如何在应用程序设置中实现?你每次都覆盖 UITableViewControllers 吗?

【问题讨论】:

    标签: iphone cocoa-touch


    【解决方案1】:

    你见过mySettings吗?使用与设置应用程序中几乎相同的 plist 文件,但在应用程序中显示它。

    顺便说一句,Apple 建议在您的应用程序中包含经常更改的设置。其他内容应该在“设置”应用中。

    【讨论】:

    • 这正是我正在寻找的东西。谢谢!
    • 链接未找到
    • @AthifShaffy 答案已经有将近十年的历史了,令人惊讶的是这个问题仍然相关!我怀疑 mySettings 是否存在。也许试试github.com/futuretap/InAppSettingsKit
    【解决方案2】:

    我们采取的方法是创建一个库,该库尽可能准确地模拟设置应用程序,可从应用程序内部访问。它使用 Settings.plist 文件的用户默认值,就像设置应用一样。

    实现之后,您可以根据需要添加自己的数据类型。

    【讨论】:

    • 好的,所以我猜网上没有什么可以公开的?
    • 当我打算开始我的方法时,我看了看,但时间不长。实现起来看起来非常简单,事实证明,它并没有那么糟糕。如果你知道如何使用 AccessoryViews 和表格来发挥你的优势,你甚至不必继承 UITableViewCell。
    【解决方案3】:

    如果您正在编写数据驱动的应用程序,您可以将设置保存在数据库中,并拥有一个视图/控制器对来查询数据库以获取任何可以修改的设置(每个设置可以是类型/名称/值或你能想到的任何其他结构)。

    如果您的数据访问使用单例,则从应用中的任何位置访问设置都很简单。

    在不同的应用程序之间,用作设置视图的视图/控制器和数据库代码本身不会改变,只有在应用程序的不同部分执行的设置/获取(可能还有数据库中的起始数据) )。

    当然,如果您不打算触摸 CoreData,那么设置的开销会很大...

    【讨论】:

      最近更新 更多