我正在使用swift和spritekit开发游戏。我有一个名为Utilities
的类,它有一堆在游戏中使用的泛型函数。目前我在单个游戏场景中创建Utilities
类的新实例,然后将引用传递给其他类,如此
self.util = Utilities()
self.player = Player(util: self.util)
self.monster = Monster(util: self.util)
我正在这样做,所以我只创建了一个类的实例,但是我继续做的越多,就越想在每个类中创建一个新的实用程序实例,我需要它。这有什么缺点吗?只创建一个实例并传递它是否更有效,或者如果我说5或6个实例,它会不会有所作为?
答案 0 :(得分:3)
理想情况下,您不需要实例化您的Utilities类。您可以在其中编写公共函数,并从您喜欢的任何地方调用这些方法。
如果你需要实例化你的类并希望保留一个实例,你应该选择单例。您可以创建像
这样的单身class Utilities {
static let sharedInstance = Utilities()
}
您可以通过调用Utilities.sharedInstance
答案 1 :(得分:0)
如果Utilities
实例没有任何特定状态,那么您可能根本不需要一个类。只需将您的功能定义为公共全局功能。
Swift 不是 Java。功能可以独立存在。他们不需要被附加到班级。