gpt4 book ai didi

ios - 我应该子类化还是使用类别

转载 作者:行者123 更新时间:2023-11-29 13:06:59 27 4
gpt4 key购买 nike

我有一个管理从 plist 加载的首选项的单例。我使用它多个应用程序。它包含像 -(BOOL)boolForKey:(NSString *)key defaultValue:(BOOL)def

这样的方法

所以我可以在两个不同的应用程序中使用该类,只需提供不同的键,例如在一个应用程序中:[PreferenceManager boolForKey:@"UseAlternateColors"defaultValue:NO];

但是在那个应用程序中使用像 -(BOOL)useAlternateColors 这样的方法(它只返回上面一行的值)会更容易。那么我应该使用类别将此方法添加到 PreferenceManager 中(并且只有一个应用程序中有该类别)还是创建像 OneAppPreferenceManager 这样的子类?

在这个具体的例子中,子类化还是使用类别更好?

最佳答案

如果您需要向派生的 PreferenceManager 添加新的数据成员,子类化将是更好的选择。但是,由于后备存储始终保持不变,我认为在这种特定情况下使用类别会更可取。

使用类别可以让您保持单例 PreferenceManager 以及设置它的代码片段不变。如果要继承 PreferenceManager,则需要对实例化单例的代码进行额外更改,以便它使用 PreferenceManagerSubclass 而不是原始 首选项管理器。对于类别,此更改是不必要的。

关于ios - 我应该子类化还是使用类别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18413830/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com