【问题标题】:Objective-C class with multiple class variables具有多个类变量的 Objective-C 类
【发布时间】:2014-10-04 15:27:25
【问题描述】:

我正在编写一个具有许多类变量的类。因此,我在我的 .m 文件中和 @implementation 语句之前将变量声明为静态变量,并将它们的 setter 和 getter 作为类方法。让我们说超过 10 个类变量这样做是个好主意吗?或者有更好的选择吗?

【问题讨论】:

  • 你为什么不描述你试图用这样一个类和许多类方法解决的问题。如果没有有关您尝试做什么的更多信息,将很难得到一个好的答案。并确保在您的问题中而不是在 cmets 中提供额外的详细信息。
  • 问问题而不接受答案:错误的形式。人们正在努力帮助你!

标签: objective-c static static-variables class-method class-variables


【解决方案1】:

没有更多信息,这是一个艰难的决定。技术上可行 - 是的。

我知道很多人不喜欢单例,但也许这是它的好用例之一?

也许您发现配置其中一个类,或者现在的对象,真的不必是单例?

仅仅因为给定类只有一个实例并不意味着不能是“正常”类。

类变量通常会使代码库中的所有状态变得神秘,并使调试和代码重用变得很痛苦。更别说多线程了。

编辑:鉴于您在对另一个答案的评论中描述的用例,会选择单例,即“SoundPlayer”类。 '[[SoundPlayer sharedInstance] playCoolSound];'很容易,而且您也可以在那里获得适当的实例变量。如果需要,你可以随时将它换成另一个类(想想测试用例等)。

【讨论】:

    【解决方案2】:

    嗯,我可以保证电脑不会有问题。它们非常适合处理大量数字。

    在不了解您的情况的情况下,很难说。不过,这听起来确实像是您可能会以一种并非最佳的方式进行处理。你跟随你的直觉并询问它是很好的。也许您应该修改您的问题(或提出一个新问题并将其链接到此处)以讨论您真正想要完成的事情,然后我们可以提供帮助。

    【讨论】:

    • 好吧,我停止编写代码并在这里提出问题,但基本上我想要完成的是拥有一个包含静态方法的通用帮助类,例如加载声音、加载图像等。 .. 和静态成员来保存变量,比如我们是否需要静音,或者要加载的图像路径
    • 在你的助手类中使用类方法代替变量。这也允许您稍后对它们进行重大更改,而不会破坏其他现有代码。如有必要,以后可以在不更改使用代码的情况下将它们设置为动态音调。
    • 这里通常的解决方案是使用单例对象。
    猜你喜欢
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2011-05-07
    相关资源
    最近更新 更多