我应该将实用程序方法放在objective-c?
中E.g。其他路径处理实用程序方法,由多个类调用。
我已经看到了将它们放在主appdelegate文件中的示例,因此可供所有人使用。然而,这对我来说似乎有点奇怪......
答案 0 :(得分:6)
您有几个选择:
showAlertDialog()
。+[MyUtilities showAlertDialog]
。这是Java中静态实用程序类的最直接等价物,但它在Objective-C中有点笨拙。 NSObject
的类别来使所有对象都可以访问这些方法,但我强烈建议不要这样做(这可能导致严重的可维护性问题)。就个人而言,我使用了选项1和3的混合。当我的功能明显与特定的现有类绑定时,我使用类别。否则,我使用C函数。
答案 1 :(得分:1)
是的,这很奇怪(和不好的做法)。
可能最常用的习惯是使用类别来扩展现有的系统类。在少数情况下,如果没有适合的系统类,有些可能会创建一个主要由类方法组成的实用程序类,或者一个包含实例方法的单例类。
这取决于方法以及它们适合整个应用程序结构的位置(并且总是支持MVC)。